Progressive CPU-GPU Ray Tracer | Wonderland: A Ray Tracing Voxel Engine | Devlog
Ойындар
This is a showcase of my new progressive CPU-GPU ray tracer implementation I'm working on for my voxel engine Wonderland. I try to solve the problem that GPU has no enough memory to store large voxel scenes by uploading the needed scene information from CPU progressively by a ray traversal path
Пікірлер: 15
Hey Daniil, glad to see you post again! I wish you explained more what a progressive ray traversal algorithm is, as its something even I personally am not familiar with, and I think people would be interested to know!! Edit - the explanation part didn't make a lot of sense to me, it sounded just like it was addressing the issue of streaming voxel data. Maybe I am missing something
@delphicdescant
25 күн бұрын
Maybe it makes sense to separate the idea of "streaming," which deals with the CPU->GPU flow of data, from the thing that determines what data needs to be streamed next. This determination of what is needed next might be what Daniil is calling a "progressive" approach, referring to the last-frame dependency each new frame has. Just my guess.
@danygankoff
23 күн бұрын
@@delphicdescant, thanks for your clarification. You are right. In this video I do not accent on voxel streaming but on the data to select for the next frame. @GabeRundlett, nice to meet you on my videos. Again, really love your work. I will try to explain more the details in the next video. In this one, I do not focus on the explanation but only brief what I'm working on.
Какая красота !!! Как будто погружаешься в мировой океан , сколько труда в этой работе!
Yay Daniil! 🧙🏾♂️
Very cool
If you're using a ring buffer, are you somehow ensuring only the Least-Recently-Used voxel data falls off the end and gets discarded? Or does voxel data that you still need for the next frame just fall off the end of the buffer and get re-acquired immediately again afterward?
@danygankoff
23 күн бұрын
You are right with your idea. I want to implement LRU (like as @voxelbee described), but I'm in search for optimal measure or criterion (sorry for my English) to select (and do it fast) from voxels I have. In this video it's not done. For now, I only delete nodes on down-top merging and this could cause overflow
dope
Please, source code github link ;)
boooooring. another static octree renderer
@Z_Z.t
24 күн бұрын
you mean, final model isnt animated like in john lin's sandbox?
@danygankoff
23 күн бұрын
The main goal of this project is to create a feeling of nature. Firstly, as I think, it should be spacious. I've tried another solutions [1-3] to make the scene dynamic, but these ones do not deal with huge scenes. Now I'm focusing on the scene size. Maybe there's a golden mean with use of dynamic particles or so over the static scene, but for now I have no answer [1] kzread.info/dash/bejne/Y3mTl7ufedKzY6w.html [2] kzread.info/dash/bejne/oI2OyNSIodGwlJM.html [3] kzread.info/dash/bejne/qoqZ08GYcsnVcps.html
@Z_Z.t
23 күн бұрын
@@danygankoff i know that in john lin's sandbox animated voxels are acutally just rasterized polygons within voxel volume, so its kinda stupid (for those who says static voxel rederers are boring) to expect that the entire volumetric canvas could be updated in realtime.