Trait gfx::device::draw::CommandBuffer
[−]
[src]
pub trait CommandBuffer<R: Resources> { fn new() -> Self; fn clear(&mut self); fn bind_program(&mut self, R); fn bind_array_buffer(&mut self, R); fn bind_attribute(&mut self, AttributeSlot, R, Format); fn bind_index(&mut self, R); fn bind_frame_buffer(&mut self, Access, R, Gamma); fn unbind_target(&mut self, Access, Target); fn bind_target_surface(&mut self, Access, Target, R); fn bind_target_texture(&mut self, Access, Target, R, Level, Option<Layer>); fn bind_uniform_block(&mut self, R, UniformBufferSlot, UniformBlockIndex, R); fn bind_uniform(&mut self, Location, UniformValue); fn bind_texture(&mut self, TextureSlot, TextureKind, R, Option<(R, SamplerInfo)>); fn set_draw_color_buffers(&mut self, usize); fn set_primitive(&mut self, Primitive); fn set_viewport(&mut self, Rect); fn set_multi_sample(&mut self, Option<MultiSample>); fn set_scissor(&mut self, Option<Rect>); fn set_depth_stencil(&mut self, Option<Depth>, Option<Stencil>, CullFace); fn set_blend(&mut self, Option<Blend>); fn set_color_mask(&mut self, ColorMask); fn update_buffer(&mut self, R, DataPointer, usize); fn update_texture(&mut self, TextureKind, R, ImageInfo, DataPointer); fn call_clear(&mut self, ClearData, Mask); fn call_draw(&mut self, PrimitiveType, VertexCount, VertexCount, InstanceOption); fn call_draw_indexed(&mut self, PrimitiveType, IndexType, VertexCount, VertexCount, VertexCount, InstanceOption); fn call_blit(&mut self, Rect, Rect, Mirror, Mask); }
An interface of the abstract command buffer. It collects commands in an efficient API-specific manner, to be ready for execution on the device.
Required Methods
fn new() -> Self
An empty constructor
fn clear(&mut self)
Clear the command buffer contents, retain the allocated storage
fn bind_program(&mut self, R)
Bind a shader program
fn bind_array_buffer(&mut self, R)
Bind an array buffer object
fn bind_attribute(&mut self, AttributeSlot, R, Format)
Bind a vertex attribute
fn bind_index(&mut self, R)
Bind an index buffer
fn bind_frame_buffer(&mut self, Access, R, Gamma)
Bind a frame buffer object
fn unbind_target(&mut self, Access, Target)
Unbind any surface from the specified target slot
fn bind_target_surface(&mut self, Access, Target, R)
Bind a surface to the specified target slot
fn bind_target_texture(&mut self, Access, Target, R, Level, Option<Layer>)
Bind a level of the texture to the specified target slot
fn bind_uniform_block(&mut self, R, UniformBufferSlot, UniformBlockIndex, R)
Bind a uniform block
fn bind_uniform(&mut self, Location, UniformValue)
Bind a single uniform in the default block
fn bind_texture(&mut self, TextureSlot, TextureKind, R, Option<(R, SamplerInfo)>)
Bind a texture
fn set_draw_color_buffers(&mut self, usize)
Select, which color buffers are going to be targetted by the shader
fn set_primitive(&mut self, Primitive)
Set primitive topology
fn set_viewport(&mut self, Rect)
Set viewport rectangle
fn set_multi_sample(&mut self, Option<MultiSample>)
Set multi-sampling state
fn set_scissor(&mut self, Option<Rect>)
Set scissor test
fn set_depth_stencil(&mut self, Option<Depth>, Option<Stencil>, CullFace)
Set depth and stencil states
fn set_blend(&mut self, Option<Blend>)
Set blend state
fn set_color_mask(&mut self, ColorMask)
Set output color mask for all targets
fn update_buffer(&mut self, R, DataPointer, usize)
Update a vertex/index/uniform buffer
fn update_texture(&mut self, TextureKind, R, ImageInfo, DataPointer)
Update a texture region
fn call_clear(&mut self, ClearData, Mask)
Clear target surfaces
fn call_draw(&mut self, PrimitiveType, VertexCount, VertexCount, InstanceOption)
Draw a primitive
fn call_draw_indexed(&mut self, PrimitiveType, IndexType, VertexCount, VertexCount, VertexCount, InstanceOption)
Draw a primitive with index buffer
fn call_blit(&mut self, Rect, Rect, Mirror, Mask)
Blit from one target to another