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?
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.
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.
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).
@@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.
Hi Frozein! I ended up here as I follow Douglas Dwyer and his work on Sparse Voxel Octrees and his game engine. The RUclips algorithm worked correctly for a change! Thanks for sharing your amazing work. Subscribed 😊❤️
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!
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!
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?
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!
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
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.
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
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.
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.
@@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.
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.
"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!
Once a voxeler always a voxeler
That first red ball and then the voxelated red ball must have felt so satisfying.
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?
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.
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.
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).
@@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!
Yeah I am hyped
Hi Frozein! I ended up here as I follow Douglas Dwyer and his work on Sparse Voxel Octrees and his game engine. The RUclips algorithm worked correctly for a change! Thanks for sharing your amazing work. Subscribed 😊❤️
I loved your last voxel engine series, Im excited to see a new attempt at it
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!
Thanks! Good luck in your own Vulkan projects!
youtube has reccomended a new voxel dev channel every day for the past two week
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!
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!
Thanks! Good luck with your own projects!
I like following all the voxel dev youtubers as they seemingly all make great breakthroughs one upping each other haha
I would also be very very interested to see how you structured your project and code base.
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.
(I get lost in C418’s music.) Really looking forward for this project!
I love C418
c418 music is a great choice! and yeah good video too xd
Subbed - great video and looking forward to seeing your voxel journey with this one!
I'm loving it!! Great work. I haven't yet gotten a chance to play around with Rt pipelines, so this is awesome
Yeah most people doing raytracing use compute shaders, so I'm very curious how this will turn out.
@@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!
@@GabeRundlett Good to hear, hopefully more people start to use and understand the RT pipeline
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.
Watching you from the very first vid! Good job!
Really interesting work! I'd love to learn Vulkan myself.
I hope to see where this goes!
Great video ! I can't wait to see what's next
Looking good, I'm excited... here's some engagement ^^
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?
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!
@@frozein Ok no worries! Thanks :)
Looks pretty smooth.
Crazy vid, so much work and learning to get to that stage. How long does it take for the bvh structure to be built?
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.
Yeah its great
Sick man, subbed. What do you use to edit your videos?
Davinci Resolve. It's free and pretty decent.
Really impressive!
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
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.
Here we go again :O
I feel i am at a point of ignorant confidence with vulkan, I think i might join you on this journey :)
I wish you luck!
i must say, this will be cool :)
Maybe you want to make the music more quiet in the next video. I find it a bit hard to listen to otherwise.
Noted, thank you
voxels, HELL yeah
It always takes a lot of time for the backend with not a lot going on to the user.
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
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.
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.
@@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.
This is voxel geometry building by base vertices, or you use something like ray marching to draw geometry?
The engine uses raytracing, vulkan hardware raytracing specifically.
wow! very cool
Hell yeah!
0:45, FinalForEach? He made Cosmic Reach.
Yeah his work is impressive too!
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.
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.
very cool
"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!
Are you using the NVIDIA RT API or the Vulkan cross-vendor API?
The Vulkan cross-vendor API. I've only been able to test it on an NVIDIA card so far but it should work on any card supporting hardware RT.
can you implement models made in MagicaVoxel
Yes I'll definitely implement that eventually
does this support backface culling?
Backface culling is a rasterization technique, so it doesn't really apply to this engine.
this really does not look like that many voxels.
Yeah its still in it's early stages, I'll get more impressive test scenes in future videos!
YO BASED
hehe, my blas/tlas doesnt work
That's quite unfortunate :(
@@frozeinNow my rchit shader dies because I read the buffer, yay
again?
Indeed
Man why don't you open source any of your projects😢
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.