Home Creators Posts Import Register Favorites Logout

Content

Hi all, I'm working on a lot of different things and thought I'd give an update.

Also, welcome to all the new Patrons! We've had an influx over the past couple weeks as we've had a spike in YouTube views. I hope you all have access to the engine on GitHub, if not please let me know.

TLDR

A lot of new code is being merged back to the main branch soon

425 files changed

65,891 lines added

16,424 lines removed

40 new pages of documentation

2.5x faster model voxelisation

Raytraced Audio SDK v0.1 coming soon

New GIF renderer

Documentation

There's a lot of information spread out on old Patreon posts, and the plan is to migrate it all to Obsidian. Over the past few weeks I've published 40 new pages of documentation, which you can access publicly here:

Vercidium Engine

Raytraced Audio

I've also written documentation for engine features, classes, examples and demos. I've cleaned up the code as I go - I never realised how poorly some function were named until I tried explaining them! This refactor is currently on a separate branch, as I've changed quite a lot of code. This branch is stable now and will be merged back to the main branch soon.

I've archived the animations from the Raytraced Audio YouTube video into the 2025 branch, as it was a pain to try to keep it functional alongside all the new changes.

I'm always open to feedback - please let me know if you find something in the code or documentation that doesn't make sense.

Some stats for the past couple months:

425 files changed

65,891 lines added

16,424 lines removed

Voxelisation

I've continued work on the model-to-voxel conversion system I described in this post, and have sped it up from 7ms to 3ms thanks to faster memory operations, caching and converting each model to voxels in parallel, on their own thread.

This code is currently in the Raytraced Audio engine codebase, but will be moved to the Vercidium Engine codebase as it's very useful.

Raytraced Audio

The first version of the SDK is shaping up nicely and I'm hoping to release it to those that have signed up at vercidium.com/audio in the next couple of weeks.

For simplicity this version will not include any OpenAL code. The SDK will:

convert your worlds into voxels with various materials

cast rays

determine how occluded each sound source is

determine reverb parameters

Then you can use these stats to apply low pass filters + reverb effects to your game, using the audio API you're currently using.

Eventually the SDK will manage the OpenAL / FMOD / WWise / etc code for you, but for now while we're in an experimentation stage, I'm looking for feedback on the raytracing quality.

Patreon GIFs

I can only embed GIFs in Patreon posts - not MP4 files - and it takes a while to record an animation with OBS, trim it in Davinci Resolve, then upload it to ezgif.com to convert it to a GIF. This means it takes a while to write good-looking posts... so it's time to automate it!

My engine can already render animations to MP4 files using FFMPEG, which is how I created my latest YouTube video. FFMPEG can also create GIFs, so I asked Claude.ai what arguments to use. After a bit of trial and error I ended up with this monstrosity:

-f rawvideo -pix_fmt bgra -s {width}x{height} -framerate {frameRate} -i - -vf \"vflip,split[s0][s1];[s0]palettegen=reserve_transparent=1[p];[s1][p]paletteuse\" -loop 0 -y video/output.gif

Now once I've created an animation, I can press a button to generate a GIF that I can insert directly into a Patreon post.

Expect cool GIFs in posts from now on!

Files

Comments

Nick McKay - Elemera Dev

What format do you use for the voxelizer? We're currently struggling to design a good pipeline for our artists to create animated voxelized objects.

vercidium

I'm storing 1 byte per voxel, which represents the material (0 = air, 1 = brick, 2 = cloth, 3 = concrete, etc). It doesn't store colour as these voxels won't be visualised, they're just used for audio in the background. The map is composed of 32x32x32 chunks of voxels. No fancy octrees or anything 1-byte-per-voxel is the same format that MagicaVoxel uses. It's a great tool but I haven't used it for animated models, you might end up with a complete separate voxel model for each frame of the animation, which is a lot of data. Are you considering using a traditional rigged model like in Blender, then converting it to voxels in real time? What's your current approach?

Y.

sorry to ask, but why is chat not working

vercidium

Hi what do you mean sorry? You should be able to message me here on Patreon. I’ll try messaging you

Y.

I tried, but nothing is showing up. It is under the "Chats" page and, the content is loading all the time. I am not sure the reason

vercidium

Looks like free members can only talk in the group chat, not direct messages Feel free to send me an email, my email address is on the About page of my YouTube channel

Hommee

This Engine was based on C# or C++

vercidium

C#, it's currently using .NET 8.0