pub struct IndirectRenderCommand(/* private fields */);Expand description
A render command within an indirect command buffer.
C++ equivalent: MTL::IndirectRenderCommand
Indirect render commands can encode draw calls and state changes that will be executed when the indirect command buffer is executed.
Implementations§
Source§impl IndirectRenderCommand
impl IndirectRenderCommand
Sourcepub fn set_barrier(&self)
pub fn set_barrier(&self)
Set a barrier for this command.
C++ equivalent: void setBarrier()
Sourcepub fn clear_barrier(&self)
pub fn clear_barrier(&self)
Clear a barrier for this command.
C++ equivalent: void clearBarrier()
Sourcepub fn set_render_pipeline_state(&self, state: &RenderPipelineState)
pub fn set_render_pipeline_state(&self, state: &RenderPipelineState)
Set the render pipeline state.
C++ equivalent: void setRenderPipelineState(const RenderPipelineState*)
Sourcepub fn set_vertex_buffer(
&self,
buffer: &Buffer,
offset: UInteger,
index: UInteger,
)
pub fn set_vertex_buffer( &self, buffer: &Buffer, offset: UInteger, index: UInteger, )
Set a vertex buffer.
C++ equivalent: void setVertexBuffer(const Buffer*, NS::UInteger offset, NS::UInteger index)
Sourcepub fn set_vertex_buffer_with_stride(
&self,
buffer: &Buffer,
offset: UInteger,
stride: UInteger,
index: UInteger,
)
pub fn set_vertex_buffer_with_stride( &self, buffer: &Buffer, offset: UInteger, stride: UInteger, index: UInteger, )
Set a vertex buffer with stride.
C++ equivalent: void setVertexBuffer(const Buffer*, NS::UInteger offset, NS::UInteger stride, NS::UInteger index)
Sourcepub fn set_fragment_buffer(
&self,
buffer: &Buffer,
offset: UInteger,
index: UInteger,
)
pub fn set_fragment_buffer( &self, buffer: &Buffer, offset: UInteger, index: UInteger, )
Set a fragment buffer.
C++ equivalent: void setFragmentBuffer(const Buffer*, NS::UInteger offset, NS::UInteger index)
Sourcepub fn set_mesh_buffer(
&self,
buffer: &Buffer,
offset: UInteger,
index: UInteger,
)
pub fn set_mesh_buffer( &self, buffer: &Buffer, offset: UInteger, index: UInteger, )
Set a mesh buffer.
C++ equivalent: void setMeshBuffer(const Buffer*, NS::UInteger offset, NS::UInteger index)
Sourcepub fn set_object_buffer(
&self,
buffer: &Buffer,
offset: UInteger,
index: UInteger,
)
pub fn set_object_buffer( &self, buffer: &Buffer, offset: UInteger, index: UInteger, )
Set an object buffer.
C++ equivalent: void setObjectBuffer(const Buffer*, NS::UInteger offset, NS::UInteger index)
Sourcepub fn set_object_threadgroup_memory_length(
&self,
length: UInteger,
index: UInteger,
)
pub fn set_object_threadgroup_memory_length( &self, length: UInteger, index: UInteger, )
Set object threadgroup memory length.
C++ equivalent: void setObjectThreadgroupMemoryLength(NS::UInteger, NS::UInteger)
Sourcepub fn set_cull_mode(&self, mode: CullMode)
pub fn set_cull_mode(&self, mode: CullMode)
Set the cull mode.
C++ equivalent: void setCullMode(CullMode)
Sourcepub fn set_depth_bias(&self, depth_bias: f32, slope_scale: f32, clamp: f32)
pub fn set_depth_bias(&self, depth_bias: f32, slope_scale: f32, clamp: f32)
Set the depth bias.
C++ equivalent: void setDepthBias(float, float, float)
Sourcepub fn set_depth_clip_mode(&self, mode: DepthClipMode)
pub fn set_depth_clip_mode(&self, mode: DepthClipMode)
Set the depth clip mode.
C++ equivalent: void setDepthClipMode(DepthClipMode)
Sourcepub fn set_depth_stencil_state(&self, state: &DepthStencilState)
pub fn set_depth_stencil_state(&self, state: &DepthStencilState)
Set the depth stencil state.
C++ equivalent: void setDepthStencilState(const DepthStencilState*)
Sourcepub fn set_front_facing_winding(&self, winding: Winding)
pub fn set_front_facing_winding(&self, winding: Winding)
Set the front facing winding.
C++ equivalent: void setFrontFacingWinding(Winding)
Sourcepub fn set_triangle_fill_mode(&self, mode: TriangleFillMode)
pub fn set_triangle_fill_mode(&self, mode: TriangleFillMode)
Set the triangle fill mode.
C++ equivalent: void setTriangleFillMode(TriangleFillMode)
Sourcepub fn draw_primitives(
&self,
primitive_type: PrimitiveType,
vertex_start: UInteger,
vertex_count: UInteger,
instance_count: UInteger,
base_instance: UInteger,
)
pub fn draw_primitives( &self, primitive_type: PrimitiveType, vertex_start: UInteger, vertex_count: UInteger, instance_count: UInteger, base_instance: UInteger, )
Draw primitives.
C++ equivalent: void drawPrimitives(...)
Sourcepub fn draw_indexed_primitives(
&self,
primitive_type: PrimitiveType,
index_count: UInteger,
index_type: IndexType,
index_buffer: &Buffer,
index_buffer_offset: UInteger,
instance_count: UInteger,
base_vertex: Integer,
base_instance: UInteger,
)
pub fn draw_indexed_primitives( &self, primitive_type: PrimitiveType, index_count: UInteger, index_type: IndexType, index_buffer: &Buffer, index_buffer_offset: UInteger, instance_count: UInteger, base_vertex: Integer, base_instance: UInteger, )
Draw indexed primitives.
C++ equivalent: void drawIndexedPrimitives(...)
Sourcepub fn draw_mesh_threadgroups(
&self,
threadgroups_per_grid: Size,
threads_per_object_threadgroup: Size,
threads_per_mesh_threadgroup: Size,
)
pub fn draw_mesh_threadgroups( &self, threadgroups_per_grid: Size, threads_per_object_threadgroup: Size, threads_per_mesh_threadgroup: Size, )
Draw mesh threadgroups.
C++ equivalent: void drawMeshThreadgroups(...)
Sourcepub fn draw_mesh_threads(
&self,
threads_per_grid: Size,
threads_per_object_threadgroup: Size,
threads_per_mesh_threadgroup: Size,
)
pub fn draw_mesh_threads( &self, threads_per_grid: Size, threads_per_object_threadgroup: Size, threads_per_mesh_threadgroup: Size, )
Draw mesh threads.
C++ equivalent: void drawMeshThreads(...)