Struct ash::extensions::nv::RayTracing   
source · pub struct RayTracing { /* private fields */ }Implementations§
source§impl RayTracing
 
impl RayTracing
pub fn new(instance: &Instance, device: &Device) -> Self
pub unsafe fn get_properties( instance: &Instance, pdevice: PhysicalDevice ) -> PhysicalDeviceRayTracingPropertiesNV
sourcepub unsafe fn create_acceleration_structure(
    &self,
    create_info: &AccelerationStructureCreateInfoNV,
    allocation_callbacks: Option<&AllocationCallbacks>
) -> VkResult<AccelerationStructureNV>
 
pub unsafe fn create_acceleration_structure( &self, create_info: &AccelerationStructureCreateInfoNV, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<AccelerationStructureNV>
sourcepub unsafe fn destroy_acceleration_structure(
    &self,
    accel_struct: AccelerationStructureNV,
    allocation_callbacks: Option<&AllocationCallbacks>
)
 
pub unsafe fn destroy_acceleration_structure( &self, accel_struct: AccelerationStructureNV, allocation_callbacks: Option<&AllocationCallbacks> )
sourcepub unsafe fn get_acceleration_structure_memory_requirements(
    &self,
    info: &AccelerationStructureMemoryRequirementsInfoNV
) -> MemoryRequirements2KHR
 
pub unsafe fn get_acceleration_structure_memory_requirements( &self, info: &AccelerationStructureMemoryRequirementsInfoNV ) -> MemoryRequirements2KHR
sourcepub unsafe fn bind_acceleration_structure_memory(
    &self,
    bind_info: &[BindAccelerationStructureMemoryInfoNV]
) -> VkResult<()>
 
pub unsafe fn bind_acceleration_structure_memory( &self, bind_info: &[BindAccelerationStructureMemoryInfoNV] ) -> VkResult<()>
sourcepub unsafe fn cmd_build_acceleration_structure(
    &self,
    command_buffer: CommandBuffer,
    info: &AccelerationStructureInfoNV,
    instance_data: Buffer,
    instance_offset: DeviceSize,
    update: bool,
    dst: AccelerationStructureNV,
    src: AccelerationStructureNV,
    scratch: Buffer,
    scratch_offset: DeviceSize
)
 
pub unsafe fn cmd_build_acceleration_structure( &self, command_buffer: CommandBuffer, info: &AccelerationStructureInfoNV, instance_data: Buffer, instance_offset: DeviceSize, update: bool, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratch_offset: DeviceSize )
sourcepub unsafe fn cmd_copy_acceleration_structure(
    &self,
    command_buffer: CommandBuffer,
    dst: AccelerationStructureNV,
    src: AccelerationStructureNV,
    mode: CopyAccelerationStructureModeNV
)
 
pub unsafe fn cmd_copy_acceleration_structure( &self, command_buffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeNV )
sourcepub unsafe fn cmd_trace_rays(
    &self,
    command_buffer: CommandBuffer,
    raygen_shader_binding_table_buffer: Buffer,
    raygen_shader_binding_offset: DeviceSize,
    miss_shader_binding_table_buffer: Buffer,
    miss_shader_binding_offset: DeviceSize,
    miss_shader_binding_stride: DeviceSize,
    hit_shader_binding_table_buffer: Buffer,
    hit_shader_binding_offset: DeviceSize,
    hit_shader_binding_stride: DeviceSize,
    callable_shader_binding_table_buffer: Buffer,
    callable_shader_binding_offset: DeviceSize,
    callable_shader_binding_stride: DeviceSize,
    width: u32,
    height: u32,
    depth: u32
)
 
pub unsafe fn cmd_trace_rays( &self, command_buffer: CommandBuffer, raygen_shader_binding_table_buffer: Buffer, raygen_shader_binding_offset: DeviceSize, miss_shader_binding_table_buffer: Buffer, miss_shader_binding_offset: DeviceSize, miss_shader_binding_stride: DeviceSize, hit_shader_binding_table_buffer: Buffer, hit_shader_binding_offset: DeviceSize, hit_shader_binding_stride: DeviceSize, callable_shader_binding_table_buffer: Buffer, callable_shader_binding_offset: DeviceSize, callable_shader_binding_stride: DeviceSize, width: u32, height: u32, depth: u32 )
sourcepub unsafe fn create_ray_tracing_pipelines(
    &self,
    pipeline_cache: PipelineCache,
    create_info: &[RayTracingPipelineCreateInfoNV],
    allocation_callbacks: Option<&AllocationCallbacks>
) -> VkResult<Vec<Pipeline>>
 
pub unsafe fn create_ray_tracing_pipelines( &self, pipeline_cache: PipelineCache, create_info: &[RayTracingPipelineCreateInfoNV], allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<Vec<Pipeline>>
sourcepub unsafe fn get_ray_tracing_shader_group_handles(
    &self,
    pipeline: Pipeline,
    first_group: u32,
    group_count: u32,
    data: &mut [u8]
) -> VkResult<()>
 
pub unsafe fn get_ray_tracing_shader_group_handles( &self, pipeline: Pipeline, first_group: u32, group_count: u32, data: &mut [u8] ) -> VkResult<()>
sourcepub unsafe fn get_acceleration_structure_handle(
    &self,
    accel_struct: AccelerationStructureNV
) -> VkResult<u64>
 
pub unsafe fn get_acceleration_structure_handle( &self, accel_struct: AccelerationStructureNV ) -> VkResult<u64>
sourcepub unsafe fn cmd_write_acceleration_structures_properties(
    &self,
    command_buffer: CommandBuffer,
    structures: &[AccelerationStructureNV],
    query_type: QueryType,
    query_pool: QueryPool,
    first_query: u32
)
 
pub unsafe fn cmd_write_acceleration_structures_properties( &self, command_buffer: CommandBuffer, structures: &[AccelerationStructureNV], query_type: QueryType, query_pool: QueryPool, first_query: u32 )
pub const fn name() -> &'static CStr
pub fn fp(&self) -> &NvRayTracingFn
pub fn device(&self) -> Device
Trait Implementations§
source§impl Clone for RayTracing
 
impl Clone for RayTracing
source§fn clone(&self) -> RayTracing
 
fn clone(&self) -> RayTracing
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read more