Here's an update on my small-voxel renderer, inspired by the look of games like Doom and Quake. The work I shared last year focused on handling simpler environment geometry. Since then, I've greatly expanded the scope of what I can depict in this art style. More info in thread.
@mankrip The voxelization is done ahead of time. Among other things, this allows me to calculate parameters for a more elaborate shading model that improves the appearance of the resulting meshes once illuminated. I go into some more detail about this in the blog post.
Here's an update on my small-voxel renderer, inspired by the look of games like Doom and Quake. The work I shared last year focused on handling simpler environment geometry. Since then, I've greatly expanded the scope of what I can depict in this art style. More info in thread.
Currently, all the light sources in my small-voxel renderer are dynamic (though without inter-object shadows). I didn't demo this in the new YouTube video, but somebody asked about it in the comments, so here's a quick example.
@easyldur Thanks! I guess it depends on your perspective on what is high or low spec these days. The sequences in the video stay above 90 FPS at 1440p on a six-year-old GPU that was considered by reviewers at the time to be good for 1440p gaming (Radeon RX 5700 XT)
@art_of_kemal Thanks! I'm considering several options for where to take this project as I continue development. I talk about this in more detail in the blog post that I linked. One of my reasons for sharing this update now is to gauge interest from other developers and make more connections
@OrigamiSDH A sufficiently simple version of enemy voxelization could be possible in real time. I chose to bake them because it lets me do as much compute as I want to allow the render-time results to look nicer and render fast. And yeah, Prodeus's dynamic enemy sprites do look quite nice.
For more information on what I've been up to and where I plan to go with this project from here, or to get in touch, see this blog post: https://t.co/IN419qRreF
@matiasgoldberg Thank you for pursuing this, if your report did prompt the change. I always found Vulkan's specification of how synchronization primitives behave when acquiring or presenting swapchain images to be frustratingly incomplete, so it's good to see movement here.
@miketuritzin People focus on the borrow checker when they compare Rust to C or C++, but when I've experimented with Rust, one of the design decisions I've appreciated the most is the radically simpler initialization semantics
Hey folks. I'll be in San Francisco next month for GDC! Here's a look at what I've been adding to the small-voxel renderer I'm building, inspired by the visuals of classic 90s 3D games. Feel free to reach out if you're interested in meeting (DMs, or the email on my website)