<feed xmlns='http://www.w3.org/2005/Atom'>
<title>I Like Trains/gfx/models, 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-04-01T19:21:23Z</updated>
<entry>
<title>Have Renderable manage all instance lights</title>
<updated>2026-04-01T19:21:23Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-04-01T19:21:23Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=30fcb8bce7b60b6754a0d35f2f15b627d0fba4cb'/>
<id>urn:sha1:30fcb8bce7b60b6754a0d35f2f15b627d0fba4cb</id>
<content type='text'>
Spot and point lights now existing in Renderable, the vertex data
contains the owning parent object's index in CommonLocationData, the
render step is just a single draw call.
</content>
</entry>
<entry>
<title>Don't pass null to Texture constructor pixel data</title>
<updated>2026-03-14T22:59:05Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-03-14T22:59:05Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=1db33e8f0d3368e49ef105e0d091f1ce4fc4ae26'/>
<id>urn:sha1:1db33e8f0d3368e49ef105e0d091f1ce4fc4ae26</id>
<content type='text'>
Pixel data variant now proxies to the simple version and then uploads
the image data, instead of vice versa with nullptr pixels.
</content>
</entry>
<entry>
<title>Reuse vertex array objects for common structures with DSA</title>
<updated>2026-03-11T20:45:05Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-03-11T20:45:05Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=c403a71564def731f4d3b80d6ff63f08aa3c7ea3'/>
<id>urn:sha1:c403a71564def731f4d3b80d6ff63f08aa3c7ea3</id>
<content type='text'>
Slashes the number of VAOs required and the amount of setup required.
</content>
</entry>
<entry>
<title>Split addAttribsFor away from requiring a buffer to bind</title>
<updated>2026-03-11T01:36:17Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-03-11T01:36:17Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=c6cff2f1e823327129ed7d044cec6c05fa7525a1'/>
<id>urn:sha1:c6cff2f1e823327129ed7d044cec6c05fa7525a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Specialise glTexture::savePosition</title>
<updated>2026-03-09T12:18:59Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-03-09T12:17:41Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=57b27dada7e6968a6081207d9b466bf7e842039b'/>
<id>urn:sha1:57b27dada7e6968a6081207d9b466bf7e842039b</id>
<content type='text'>
Normalises the range of position information into the range 0-255 so the
resulting image is remotely useful.
</content>
</entry>
<entry>
<title>Move all low level texture operations to DSA helpers in glTexture</title>
<updated>2026-03-08T16:02:56Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-03-08T16:02:56Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=00fc3cb9b2c06026fab0e4760609fe02e027b6df'/>
<id>urn:sha1:00fc3cb9b2c06026fab0e4760609fe02e027b6df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace gl_traits glTexParameter with glTexture::parameter DSA wrapper</title>
<updated>2026-03-07T14:21:21Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-03-07T14:21:21Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=fb16b42096b45f02a9b02bee38d5d3ead6d430b0'/>
<id>urn:sha1:fb16b42096b45f02a9b02bee38d5d3ead6d430b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix naming violations in Mesh</title>
<updated>2026-03-07T14:17:44Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-03-07T12:56:33Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=b39a4169e3fe94f3b7c63ed820f299396add571a'/>
<id>urn:sha1:b39a4169e3fe94f3b7c63ed820f299396add571a</id>
<content type='text'>
They've existed and been annoying since the day I first created it from
online examples.
</content>
</entry>
<entry>
<title>Replace use of VertexArrayObject with glVertexArray/glBuffer DSA versions</title>
<updated>2026-03-06T14:22:28Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-03-06T14:22:28Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=cf0ecc35ed114c6bf54fce9c6228d60dbba1a3b5'/>
<id>urn:sha1:cf0ecc35ed114c6bf54fce9c6228d60dbba1a3b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace generic glBuffer type alias with a full implementation</title>
<updated>2026-03-06T14:11:38Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-03-06T14:11:38Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/ilt/commit/?id=182f823116458ad357823f4cc56638980aafa0f6'/>
<id>urn:sha1:182f823116458ad357823f4cc56638980aafa0f6</id>
<content type='text'>
Adds wrappers for DSA storage and data uploads.
</content>
</entry>
</feed>
