Struct truck_rendimpl::ShapeInstance [−][src]
Instance of shape: Shell and Solid with geometric data.
One can duplicate shapes with different postures and materials that have the same mesh data. To save memory, mesh data on the GPU can be used again.
The duplicated shape by Clone::clone has the same mesh data and descriptor
with original, however, its render id is different from the one of original.
Implementations
impl ShapeInstance[src]
pub fn default_vertex_shader() -> ShaderModuleSource<'static>[src]
Returns the default vertex shader module source.
The GLSL original code is src/shaders/polygon.vert.
pub fn default_fragment_shader() -> ShaderModuleSource<'static>[src]
Returns the default fragment shader module source for non-textured polygons.
The GLSL original code is src/shaders/face.frag.
pub fn default_textured_fragment_shader() -> ShaderModuleSource<'static>[src]
Returns the default fragment shader module source for textured polygons.
The GLSL original code is src/shaders/textured-face.frag.
pub fn pipeline_with_shader(
&self,
vertex_shader: ShaderModuleSource<'_>,
fragment_shader: ShaderModuleSource<'_>,
device_handler: &DeviceHandler,
layout: &PipelineLayout,
sample_count: u32
) -> Arc<RenderPipeline>[src]
&self,
vertex_shader: ShaderModuleSource<'_>,
fragment_shader: ShaderModuleSource<'_>,
device_handler: &DeviceHandler,
layout: &PipelineLayout,
sample_count: u32
) -> Arc<RenderPipeline>
Returns the pipeline with developer's custom shader.
pub fn pipeline_with_shader_module(
&self,
vertex_module: &ShaderModule,
fragment_module: &ShaderModule,
device_handler: &DeviceHandler,
layout: &PipelineLayout,
sample_count: u32
) -> Arc<RenderPipeline>[src]
&self,
vertex_module: &ShaderModule,
fragment_module: &ShaderModule,
device_handler: &DeviceHandler,
layout: &PipelineLayout,
sample_count: u32
) -> Arc<RenderPipeline>
Returns the pipeline with developer's custom shader module.
impl ShapeInstance[src]
pub fn clone_instance(&self) -> Self[src]
Clone the instance as another drawn element.
pub fn instance_state(&self) -> &InstanceState[src]
Returns a reference to the instance descriptor.
pub fn instance_state_mut(&mut self) -> &mut InstanceState[src]
Returns the mutable reference to the instance descriptor.
pub fn swap_faces(&mut self, other: &mut Self)[src]
swap render faces
Trait Implementations
impl Debug for ShapeInstance[src]
impl Rendered for ShapeInstance[src]
fn render_id(&self) -> RenderID[src]
fn vertex_buffer(
&self,
_: &DeviceHandler
) -> (Arc<BufferHandler>, Option<Arc<BufferHandler>>)[src]
&self,
_: &DeviceHandler
) -> (Arc<BufferHandler>, Option<Arc<BufferHandler>>)
fn bind_group_layout(&self, handler: &DeviceHandler) -> Arc<BindGroupLayout>[src]
fn bind_group(
&self,
handler: &DeviceHandler,
layout: &BindGroupLayout
) -> Arc<BindGroup>[src]
&self,
handler: &DeviceHandler,
layout: &BindGroupLayout
) -> Arc<BindGroup>
fn pipeline(
&self,
handler: &DeviceHandler,
layout: &PipelineLayout,
sample_count: u32
) -> Arc<RenderPipeline>[src]
&self,
handler: &DeviceHandler,
layout: &PipelineLayout,
sample_count: u32
) -> Arc<RenderPipeline>
Auto Trait Implementations
impl !RefUnwindSafe for ShapeInstance[src]
impl Send for ShapeInstance[src]
impl Sync for ShapeInstance[src]
impl Unpin for ShapeInstance[src]
impl !UnwindSafe for ShapeInstance[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T> Instrument for T[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,