RadeonRays_SDK icon indicating copy to clipboard operation
RadeonRays_SDK copied to clipboard

Ability to create Meshes from (GPU)Buffers instead of raw CPU data

Open devshgraphicsprogramming opened this issue 6 years ago • 1 comments

Since you guys already compute the BVHs on the GPU, what is the barrier to radeon rays creating meshes from GPU-sourced data?

It is a little bit bothersome that for initially GPU resident data would have to be pulled down to the CPU and re-uploaded to the GPU with the current API (or mapped, but there is often little mappable memory, its slower and it will still rely on the driver+CPU or DMA engine to move it across).

The fact that the createMeshes call is blocking is also bothersome, could we get a non-blocking version?

Finally, such an approach could save memory as a duplicate set of vertex positions would not need to be kept between i.e. OpenGL/Vulkan and Radeon Rays. Note: I understand that unless your BHV approach sorts the actual vertices according to the hierarchy instead of some index list.

This would actually help address #163 since for example in the case of skinned meshes, I could write out my skinned vertex positions to VK/GL buffers via SSBO from shader and feed them to Radeon Rays' CreateMesh

(help, not solve, CreateMesh still needs a realtime alternative UpdateMesh or something like that for faster BVH update/recreation)