I'm Making a NEW VOXEL RAYTRACING ENGINE (in Vulkan) | Devlog 0
Ғылым және технология
In this video, I introduce the new voxel raytracing engine I am now working on. I discuss the Vulkan raytracing pipeline and how it works in relation to my engine.
Resources:
developer.nvidia.com/rtx/rayt...
Check out my game:
store.steampowered.com/app/24...
Music (in order):
C418 - Post Success Depression: • Post Success Depression
C418 - Preliminary Art Form: • Preliminary Art Form
Пікірлер: 84
Once a voxeler always a voxeler
That first red ball and then the voxelated red ball must have felt so satisfying.
@frozein
2 ай бұрын
They really did
Oh yes! Utilizing the hardware BVH system in conjunction with custom intersection shaders for the voxels is something that I haven't seen anyone do yet. Very cool. I am curious to see how it performs over time in comparison to, say, compute-shader ray marchers. Do you use any acceleration structure for the voxel traversal?
@TeslaPixel
2 ай бұрын
Yes I would like to know the same. I feel like it could be possible that the raytracing pipeline is too generalised and might not perform as well as the compute shader approach as a result. That being said, for raytracing specific hardware, the compute approach might not have access to a card's full resources.
@frozein
2 ай бұрын
Good to see you here! Currently I'm just marching through a flat 3D texture, but I plan to add a bunch of different accel structures (octree, DAG, etc.) and allow the users to pick them on a per-volume basis. I'm hoping this will allow for more fine-tuned optimization.
@GabeRundlett
2 ай бұрын
John Lin was absolutely doing HWRT for voxels - that was what started the project he showed on YT (first 4 videos I believe), and although he scrapped it for a while due to the AS build perf, he came back to it IIRC (for the final video or so).
@frozein
2 ай бұрын
@@GabeRundlett The AS build performance is definitely one of my largest concerns. So far it doesn't seem to be an issue but my test scenes have been quite small.
I originally subscribed for you first voxel engine series- excited about this one!
@judgsmith
2 ай бұрын
Yeah I am hyped
I cant imagine the excitement for getting something working after many hours looking through documents on a topic with not many resources! Looking forward to more progress!
I loved your last voxel engine series, Im excited to see a new attempt at it
(I get lost in C418’s music.) Really looking forward for this project!
@frozein
2 ай бұрын
I love C418
I've started doing the Vulkan hello triangle tutorial recently, since I was also inspired by all of the cool voxel engines here on YT (including yours), so I'm super interested in your coming dev logs!
@frozein
2 ай бұрын
Thanks! Good luck in your own Vulkan projects!
c418 music is a great choice! and yeah good video too xd
Looking forward to what you can make. I have been doing the same for years but not gotten that far. Succeed where I have failed!
@frozein
2 ай бұрын
Thanks! Good luck with your own projects!
Watching you from the very first vid! Good job!
This is my first time watching a devlog from the start. Awesome work!
Amazing, love watching this :)) gonna catch up on all your previous videos
Looks like great progress! Good luck and keep at it.
Subbed - great video and looking forward to seeing your voxel journey with this one!
youtube has reccomended a new voxel dev channel every day for the past two week
i must say, this will be cool :)
Great video ! I can't wait to see what's next
Really interesting work! I'd love to learn Vulkan myself.
Looking good, I'm excited... here's some engagement ^^
I'm loving it!! Great work. I haven't yet gotten a chance to play around with Rt pipelines, so this is awesome
@frozein
2 ай бұрын
Yeah most people doing raytracing use compute shaders, so I'm very curious how this will turn out.
@GabeRundlett
2 ай бұрын
@@frozein I think it'll turn out well! I just wrote my first RT shaders this weekend, and I've got some promising results already!
@frozein
2 ай бұрын
@@GabeRundlett Good to hear, hopefully more people start to use and understand the RT pipeline
Really impressive!
I hope to see where this goes!
Sick man, subbed. What do you use to edit your videos?
@frozein
2 ай бұрын
Davinci Resolve. It's free and pretty decent.
Hey Frozein! I love your videos! I am very excited to see what new progress you make on the new engine :) Will you do updates for terra toy? Or will you continue only focusing on this new engine? I know working in the same code space indefinitely is not very fun. But I would like to see more updates of terra toy! I think adding a few simple things (perhaps like falling sand or tiny creatures) while advertising the game on your channel could improve the revenue a lot?
@frozein
2 ай бұрын
I would like to make updates for Terra Toy, but school takes up so much of my time that I can only give enough attention to one project at a time. Maybe over the summer I'll work on it. I'm happy you're enjoying Terra Toy!
@capslpop
2 ай бұрын
@@frozein Ok no worries! Thanks :)
This looks rad. I've been watching voxel engine videos for a while but not many devs include animated voxel structures. As this is ray-traced, is it likely to perform well with extremely large voxel counts? I've been loving the Distant Horizons Minecraft mod which uses LODs for large worlds but I know some ray-traced engines are performant on large worlds by default
@frozein
2 ай бұрын
Implementing an LOD system will be pretty easy with the way I've designed the API , so I'll do that sometime in the future and see how far I can push the render distance.
Looks pretty smooth.
I would also be very very interested to see how you structured your project and code base.
@frozein
2 ай бұрын
I'll cover the code structure in a future video. I would also like to open-source the project eventually but I'm waiting for it to mature a bit.
Crazy vid, so much work and learning to get to that stage. How long does it take for the bvh structure to be built?
@frozein
2 ай бұрын
I haven't done enough extensive testing, but for a very simple scene it seems to be ~1ms. I have to investigate more seriously though.
The choice of that one album is immaculate I shall say. I listen to it while coding too.
@frozein
2 ай бұрын
Yeah its great
very cool
wow! very cool
Hell yeah!
I feel i am at a point of ignorant confidence with vulkan, I think i might join you on this journey :)
@frozein
2 ай бұрын
I wish you luck!
Here we go again :O
voxels, HELL yeah
"i know it doesn't look like a lot of progress" shut up, this is amazing progress for this being your second Vulkan project, be a little more proud of yourself!
Maybe also make it that each voxel can only have one color. This could also make shadows look pretty cool and unique. And you could maybe look into making the whole world just a single grid so that all animations are forced to look voxely / pixelated like in those old 2d jump and runs like mario
@frozein
2 ай бұрын
I'm definitely going to give each voxel it's own color, but I'm not going to force everything on the same grid. My last engine only had one grid and it proved very difficult to implement things like animations efficiently. I had to constantly remove and add new voxels, which was inefficient.
@gooxey
2 ай бұрын
I think John Lin did something like this but as far as i know he is not developing his engine anymore. If you’re lucky you could find his source code and how he did his animations.
@frozein
2 ай бұрын
@@gooxey His source code is definitely not public unfortunately. But yes I also believe he used a similar approach, possibly also with Vulkan. Making an engine like his will require an insane amount of work.
Do you know about the pros and cons of using ray queries instead of the classic RT approach? AFAIK the former is said to perform much better on AMD hardware but I don't know the specifics of why it does that.
@frozein
2 ай бұрын
I assumed that ray queries would be slower since the driver has less room for optimization. But if it supposedly performs better on AMD I'll test it out eventually.
It always takes a lot of time for the backend with not a lot going on to the user.
YO BASED
Maybe you want to make the music more quiet in the next video. I find it a bit hard to listen to otherwise.
@frozein
2 ай бұрын
Noted, thank you
0:45, FinalForEach? He made Cosmic Reach.
@frozein
2 ай бұрын
Yeah his work is impressive too!
does this support backface culling?
@frozein
2 ай бұрын
Backface culling is a rasterization technique, so it doesn't really apply to this engine.
can you implement models made in MagicaVoxel
@frozein
2 ай бұрын
Yes I'll definitely implement that eventually
this really does not look like that many voxels.
@frozein
2 ай бұрын
Yeah its still in it's early stages, I'll get more impressive test scenes in future videos!
hehe, my blas/tlas doesnt work
@frozein
2 ай бұрын
That's quite unfortunate :(
@kotofyt
Ай бұрын
@@frozeinNow my rchit shader dies because I read the buffer, yay
again?
@frozein
2 ай бұрын
Indeed
Man why don't you open source any of your projects😢
@frozein
2 ай бұрын
I'll likely open source this eventually, I just want the code to be a bit more mature.
why ppl upload devlogs? literally never useful, just flexing, only the first videos get some hype then 0 views. post something useful.
@bumpy1045
2 ай бұрын
what a sad comment