<feed xmlns='http://www.w3.org/2005/Atom'>
<title>I Like Trains/gfx/gl/shaders, branch main</title>
<subtitle>The I Like Trains game</subtitle>
<id>http://git.randomdan.homeip.net/repo/ilt/atom?h=main</id>
<link rel='self' href='http://git.randomdan.homeip.net/repo/ilt/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/'/>
<updated>2026-03-30T23:37:24Z</updated>
<entry>
<title>Use a single buffer for the location/rotation data of all renderable objects</title>
<updated>2026-03-30T23:37:24Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-03-30T12:04:36Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=fb78c88576d9fed90ee69dfa35a9fbd3179ff486'/>
<id>urn:sha1:fb78c88576d9fed90ee69dfa35a9fbd3179ff486</id>
<content type='text'>
Removes the BufferedLocation and BufferedLocationUpdater mess.
Note: appears to break bogie rendering in asset factory test only, same
symptom as broken network render test? (out of date buffer data)
</content>
</entry>
<entry>
<title>Replace hacky m4 shader preprocessing with proper glslang version</title>
<updated>2026-03-10T21:52:38Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-03-10T21:52:38Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=5126582accd4af607184946200f5a937ff8d6b69'/>
<id>urn:sha1:5126582accd4af607184946200f5a937ff8d6b69</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch to floating point, camera relative position buffer</title>
<updated>2026-03-10T01:33:39Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-03-10T01:33:39Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=61d6b49d5a4c5f58a2922a19a360e078a0aeacba'/>
<id>urn:sha1:61d6b49d5a4c5f58a2922a19a360e078a0aeacba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add BillboardProgram to SceneShader</title>
<updated>2026-02-28T13:54:13Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-02-28T13:49:27Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=9ecec749060a05705d7c7eb200949e17a84702a1'/>
<id>urn:sha1:9ecec749060a05705d7c7eb200949e17a84702a1</id>
<content type='text'>
The implementation is overly simple/incomplete, I'm not even convince
what is there is right, but it's a decent start.
</content>
</entry>
<entry>
<title>Support for the BillboardPainter</title>
<updated>2026-02-28T13:41:37Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-02-26T18:04:06Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=1e08193a1678675ac5869b76e8a2339f6de5b773'/>
<id>urn:sha1:1e08193a1678675ac5869b76e8a2339f6de5b773</id>
<content type='text'>
Based on the ShadowStenciller, creates flattened images of a model for
simplified mass use in a scene.
</content>
</entry>
<entry>
<title>Reduce shader includes, doesn't use materialInterface, just Detail</title>
<updated>2026-02-20T23:41:51Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-02-20T23:41:51Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=a42c996705d16684b8e6644dcc62d0bc053da7fd'/>
<id>urn:sha1:a42c996705d16684b8e6644dcc62d0bc053da7fd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make similar array tidy-up to networkStraight shaders</title>
<updated>2026-01-31T14:20:08Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-01-31T14:20:08Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=44ceac7cc09ddbd06302c639128088ba0a4b2530'/>
<id>urn:sha1:44ceac7cc09ddbd06302c639128088ba0a4b2530</id>
<content type='text'>
And merge common functionality from networkCurve.
</content>
</entry>
<entry>
<title>Tidy networkCurve shaders</title>
<updated>2026-01-31T13:47:50Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-01-31T12:02:06Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=1d77f1ca38f88b79a39b418fe3dc7899887d186a'/>
<id>urn:sha1:1d77f1ca38f88b79a39b418fe3dc7899887d186a</id>
<content type='text'>
Arrays for start/end position/angle, smaller centre position, dynamic
segment count based on max error, calculate distance in tessellation
evaluation, use start/end position directly to avoid rounding errors at
joins.

See https://schneide.blog/2025/05/21/calculating-the-number-of-segments-for-accurate-circle-rendering/
</content>
</entry>
<entry>
<title>Rename shader source in keeping with glsl expectations</title>
<updated>2026-01-31T02:51:16Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-01-31T02:51:16Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=bc0958cc863083b4082161bf12456fdf28ab1c77'/>
<id>urn:sha1:bc0958cc863083b4082161bf12456fdf28ab1c77</id>
<content type='text'>
Swaps name/type of generated files to match class names and source
files.
</content>
</entry>
<entry>
<title>Initial commit using tesselation shader to create curves</title>
<updated>2026-01-31T01:49:07Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-01-31T01:49:07Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=b3f0df24c98dc6a7a341271dd85451345f2be1a7'/>
<id>urn:sha1:b3f0df24c98dc6a7a341271dd85451345f2be1a7</id>
<content type='text'>
Disables glslangValidator because of file extension mess up.
</content>
</entry>
</feed>
