C Specification
To dispatch ray tracing use:
void vkCmdTraceRaysNV(
    VkCommandBuffer                             commandBuffer,
    VkBuffer                                    raygenShaderBindingTableBuffer,
    VkDeviceSize                                raygenShaderBindingOffset,
    VkBuffer                                    missShaderBindingTableBuffer,
    VkDeviceSize                                missShaderBindingOffset,
    VkDeviceSize                                missShaderBindingStride,
    VkBuffer                                    hitShaderBindingTableBuffer,
    VkDeviceSize                                hitShaderBindingOffset,
    VkDeviceSize                                hitShaderBindingStride,
    VkBuffer                                    callableShaderBindingTableBuffer,
    VkDeviceSize                                callableShaderBindingOffset,
    VkDeviceSize                                callableShaderBindingStride,
    uint32_t                                    width,
    uint32_t                                    height,
    uint32_t                                    depth);Parameters
- 
commandBufferis the command buffer into which the command will be recorded.
- 
raygenShaderBindingTableBufferis the buffer object that holds the shader binding table data for the ray generation shader stage.
- 
raygenShaderBindingOffsetis the offset in bytes (relative toraygenShaderBindingTableBuffer) of the ray generation shader being used for the trace.
- 
missShaderBindingTableBufferis the buffer object that holds the shader binding table data for the miss shader stage.
- 
missShaderBindingOffsetis the offset in bytes (relative tomissShaderBindingTableBuffer) of the miss shader being used for the trace.
- 
missShaderBindingStrideis the size in bytes of each shader binding table record inmissShaderBindingTableBuffer.
- 
hitShaderBindingTableBufferis the buffer object that holds the shader binding table data for the hit shader stages.
- 
hitShaderBindingOffsetis the offset in bytes (relative tohitShaderBindingTableBuffer) of the hit shader group being used for the trace.
- 
hitShaderBindingStrideis the size in bytes of each shader binding table record inhitShaderBindingTableBuffer.
- 
callableShaderBindingTableBufferis the buffer object that holds the shader binding table data for the callable shader stage.
- 
callableShaderBindingOffsetis the offset in bytes (relative tocallableShaderBindingTableBuffer) of the callable shader being used for the trace.
- 
callableShaderBindingStrideis the size in bytes of each shader binding table record incallableShaderBindingTableBuffer.
- 
widthis the width of the ray trace query dimensions.
- 
heightis height of the ray trace query dimensions.
- 
depthis depth of the ray trace query dimensions.
Description
When the command is executed, a ray generation group of width
× height × depth rays is assembled.
See Also
VkBuffer, VkCommandBuffer, VkDeviceSize
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.