Free to a good home - my 3D engine!

I’ve been doing a spate of plugins lately and some of them are relevant, so I’ll chime in too.

I posted this (in #plugins) on Discord last month:

"Years ago, when external textures were fairly new, I had a “render 3D object to texture” plugin more or less ready, built on top of Tiny Renderer. I was hoping to make it available, but there were mysterious crashes on exit, randomly but fairly frequent.

You’ll see that these same issues came up in Graphics Extensions for Solar2D, and I alluded to problems I’d seen in the past.

Well, the upshot is that I revisited this and with the related fix does indeed now seem stable. Actually, what I updated was something more general, allowing a scene with multiple objects (I don’t actually remember writing this :smile:).

While I’ve been at it, I also added SSGE (albeit rather heavily modified) as another backend.

I still need to kick the tires on a few things, and probably do a little bit more to make those two backends’ interfaces match, but it’s getting there.

I also have MoonAssimp mostly ready as a plugin now–the Lua binding was trivial; building Assimp, not so much–to replace the rather iffy script I’d been using to load models.

(This is unrelated to what I previously showed here, which would enable genuine hardware 3D, within the display hierarchy: Discord post)"

My tests for SSGE are here: SSGE.zip (146.4 KB) (Note that they depend upon the assets from the original repository, which are a hefty download.) It won’t win any awards for speed, but the results are pretty and it might be good for capturing still shots, e.g. for animation frames or backgrounds.

@richard11 I believe I mentioned an earlier version of the Tiny Renderer one to you ages ago in some DMs.

Anyhow, those listed in that post and a few others are now available, though I haven’t done any documentation and I’d consider them still in beta: plugins

I split up the “render 3D object to texture” backends into separate plugins, obviously. As for the “few others”, I’ve wrapped some shape generators to accompany this stuff:

octasphere
par shapes
generator
yocto shapes (This is kind of an odd fit for a Lua API so I’m not far along on testing this one.)

@baukburg You’ll see the solids there. Possibly a few times; I tried to be thorough but this meant some crossover. :slightly_smiling_face:

This has been my Tiny Renderer test lately, although since I had it open I’ve been adding the shape tests (and an unrelated memory thing; never mind that): tinyrenderer-and-shapes.zip (574.3 KB) Most of these actually had save-to-file stuff I’ve used for tests whereas with Yocto I’ve been sending geometry to the renderer. The shape generators are renderer-agnostic, however, e.g. they could be used to supply polygons to Q3d.

There are a few fixes I’ll need to upload, which I’ll try to do soon, but these two attachments should give some semblance of how all of this works.

1 Like