pub struct PolygonState {
pub matrix: Matrix4,
pub material: Material,
pub texture: Option<Arc<Texture>>,
pub backface_culling: bool,
}Expand description
Configures of instances.
Fields§
§matrix: Matrix4instance matrix
material: Materialmaterial of instance
texture: Option<Arc<Texture>>texture of instance
backface_culling: boolIf this parameter is true, the backface culling will be activated.
Implementations§
Source§impl PolygonState
impl PolygonState
Sourcepub fn matrix_buffer(&self, device: &Device) -> BufferHandler
pub fn matrix_buffer(&self, device: &Device) -> BufferHandler
Creates a UNIFORM buffer of instance matrix.
The bind group provided by the instances holds this uniform buffer.
§Shader Examples
layout(set = 1, binding = 0) uniform ModelMatrix {
mat4 uniform_matrix;
};Sourcepub fn material_buffer(&self, device: &Device) -> BufferHandler
pub fn material_buffer(&self, device: &Device) -> BufferHandler
Creates a UNIFORM buffer of material.
The bind group provided by the instances holds this uniform buffer.
§Shader Examples
layout(set = 1, binding = 1) uniform Material {
vec4 albedo;
float roughness;
float reflectance;
float ambient_ratio;
};Sourcepub fn textureview_and_sampler(&self, device: &Device) -> (TextureView, Sampler)
pub fn textureview_and_sampler(&self, device: &Device) -> (TextureView, Sampler)
Creates texture view and sampler of the instance’s texture image.
The bind group provided by the instances holds this uniform buffer.
§Shader Examples
layout(set = 1, binding = 2) uniform texture2D texture_view;
layout(set = 1, binding = 3) uniform sampler texture_sampler;Trait Implementations§
Source§impl Clone for PolygonState
impl Clone for PolygonState
Source§fn clone(&self) -> PolygonState
fn clone(&self) -> PolygonState
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PolygonState
impl Debug for PolygonState
Source§impl Default for PolygonState
impl Default for PolygonState
Source§fn default() -> PolygonState
fn default() -> PolygonState
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PolygonState
impl !RefUnwindSafe for PolygonState
impl Send for PolygonState
impl Sync for PolygonState
impl Unpin for PolygonState
impl !UnwindSafe for PolygonState
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().