4 ms·
To shoot rays in scene you create acceleration structure (internal to driver/GPU hardware). Input to this structure are vertex & index buffers & model transform
by mmozeiko 7y ago
To shoot rays in scene you create acceleration structure (internal to driver/GPU hardware). Input to this structure are vertex & index buffers & model transform matrix. Geometry is specified as triangles or AABB. You can update this structure later by providing new transform matrix. There are different flags that control performance/memory usage - fast tracing or updates vs less memory usage.
See following links:
* https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdBuildAccelerationStructureNV.html https://www.khronos.org/registry/vulkan/specs/1.2-extensions...
* https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkGeometryNV.html https://www.khronos.org/registry/vulkan/specs/1.2-extensions...
- garmaine 7y agoBut efficient ray casting requires a scene graph structure--an octree, or a bsd-tree, etc. Are the details of that just handled by the driver?
- mmozeiko 7y agoYes. Driver/GPU handles that. It "just works". You just manage things on high level - what can be moved in world, what cannot and group the updates together.