Hi all, here's an update on what I've been working on recently.
High quality assets - including the 4K video above - are available on Dropbox
Draft V3 is nearly complete. The deaf accessibility visualisation has issues with larger environments, so I'm reworking the tech behind it. I've also created a more interesting environment to showcase it in:

Once that's done I'll record the final script, sync the animations, and publish the video!
I'm also rendering this video in 4K. For my previous videos I screen-recorded the animations with OBS, so I had to cut back on quality to ensure it rendered at 60 FPS.
Now I'm rendering the video one frame at a time in 4K, with higher quality shadows and bitrate. I've set up an async, multithreaded system that reads the frame's pixels back from OpenGL, encodes it as a PNG image and streams it to ffmpeg to produce the final MP4 video. This renderer will be available in the engine too.
I've also added a player model to each scene so it's easier to see where the rays are coming from/going to. You can see this in the video at the top of this post too.

A year has passed since I shared the engine code here on Patreon, and a lot has been added to the engine since then.
I plan to increase the Optimiser tier from $5.00 to $8.00 AUD, add a new $5.00 AUD Supporter tier.
Existing Patrons keep their current pledge amount forever, unless you cancel and rejoin. Right now that is $5.00 AUD / $3.50 USD
This Supporter tier would grant access to all the posts here on Patreon, which includes all the Dropbox links, which includes the original engine source code I shared in this post.
I'll give plenty of notice (at least a month) before increasing prices, so existing free users have the chance to lock in the cheaper price.
Here's everything the engine offers right now:
2D animation and bitmap drawing
3D skeletal model animations
4K video rendering with FFmpeg
All animations from my devlogs
Cloth rendering
Crepuscular rays, lighting, bloom, post-processing
Cross-platform window/input handling (Silk.NET)
Dithering / 16 bit colour
Grass and foliage rendering
Many games and demos
Model and animation export from Blender
Multithreaded async UI rendering
Networking:
basics (client-server connection, packets)
lag compensation
packet delay detection
OpenGL helpers:
basics (buffers, textures, framebuffers, shaders)
multithreading (mapping, uploads)
shader hot reloading
stutter-free buffer and texture streaming
indirect + instanced rendering
Optimised voxel rendering (new post coming soon)
Particle systems
Physics support (BepuPhysics)
Scene management
Spatialised audio with OpenAL Soft
Stabilised cascaded shadow map rendering (post coming soon)
Terrain rendering
Vector fields
Volumetric clouds
And there's much more to come. Below is a summary of what I've been working on recently.
Everything mentioned in this section will have it's own full post soon. This is just a summary / sneak peek for now
Terrain sinking has been improved to minimise overlap. This allows for faster rendering and much larger render distances.

I think I finally understand the maths behind shadows - view frustums, light space, projections and all that jargon.
This means shadows will be faster to render and have much better quality.
Here's a screenshot from my test scene, and there's also a video here on Dropbox.

I've also figured out a way to render terrain shadows - in specific scenarios - thousands of times faster than normal. I'll write a blog post on this soon!

I've developed a way of converting triangulated models into voxel models. You can adjust the size of the voxels and rotate/scale the model. This could be a tool you can use to convert 3D models to Magicavoxel files.
I plan to support textures as well - right now the voxels are all one colour:

I've made changes to my 3D model file format, so that the files are smaller, quicker to load, and can be loaded on background threads. I'd also love to figure out a way to automatically export models from Blender. Right now it's a bit of a tedious process
A few of my devlog animations use paid assets from Sketchfab and CGTrader. It's vague how the asset files can be shared, so I've excluded them from the GitHub repository for now. I will contact the artists and see if their licenses cover educational use.
When these assets aren't present, fallback assets will be used.
I joined FreeStylized on Patreon to experiment with their skyboxes. They look amazing and instantly add to the atmosphere of the forest project:

All of their skyboxes are available here in low-res, and I joined their Patreon to get access to the full 8K skyboxes.
J19
2025-03-25 14:55:53 +0000 UTCVercidium
2025-03-19 03:24:08 +0000 UTCrrtt_2323
2025-03-19 02:43:53 +0000 UTC