pub struct VoxelGrid<M: Material>(/* private fields */);
Expand description
A voxel grid inside a cube with a material type specified by the generic parameter.
Implementations§
source§impl<M: Material + FromCpuVoxelGrid> VoxelGrid<M>
impl<M: Material + FromCpuVoxelGrid> VoxelGrid<M>
sourcepub fn new(context: &Context, cpu_voxel_grid: &CpuVoxelGrid) -> Self
pub fn new(context: &Context, cpu_voxel_grid: &CpuVoxelGrid) -> Self
Constructs a VoxelGrid from a CpuVoxelGrid, ie. constructs a Gm with a cube Mesh as geometry and a material type specified by the generic parameter which implement FromCpuVoxelGrid.
Trait Implementations§
source§impl<M: Material> Geometry for VoxelGrid<M>
impl<M: Material> Geometry for VoxelGrid<M>
source§fn draw(
&self,
camera: &Camera,
program: &Program,
render_states: RenderStates,
attributes: FragmentAttributes
)
fn draw( &self, camera: &Camera, program: &Program, render_states: RenderStates, attributes: FragmentAttributes )
Draw this geometry.
source§fn vertex_shader_source(
&self,
required_attributes: FragmentAttributes
) -> String
fn vertex_shader_source( &self, required_attributes: FragmentAttributes ) -> String
Returns the vertex shader source for this geometry given that the fragment shader needs the given vertex attributes.
source§fn id(&self, required_attributes: FragmentAttributes) -> u16
fn id(&self, required_attributes: FragmentAttributes) -> u16
Returns a unique ID for each variation of the shader source returned from
Geometry::vertex_shader_source
. Read moresource§fn render_with_material(
&self,
material: &dyn Material,
camera: &Camera,
lights: &[&dyn Light]
)
fn render_with_material( &self, material: &dyn Material, camera: &Camera, lights: &[&dyn Light] )
Render the geometry with the given Material.
Must be called in the callback given as input to a RenderTarget, ColorTarget or DepthTarget write method.
Use an empty array for the
lights
argument, if the material does not require lights to be rendered.source§fn render_with_effect(
&self,
material: &dyn Effect,
camera: &Camera,
lights: &[&dyn Light],
color_texture: Option<ColorTexture<'_>>,
depth_texture: Option<DepthTexture<'_>>
)
fn render_with_effect( &self, material: &dyn Effect, camera: &Camera, lights: &[&dyn Light], color_texture: Option<ColorTexture<'_>>, depth_texture: Option<DepthTexture<'_>> )
Render the geometry with the given Effect.
Must be called in the callback given as input to a RenderTarget, ColorTarget or DepthTarget write method.
Use an empty array for the
lights
argument, if the material does not require lights to be rendered.source§fn aabb(&self) -> AxisAlignedBoundingBox
fn aabb(&self) -> AxisAlignedBoundingBox
Returns the AxisAlignedBoundingBox for this geometry in the global coordinate system.
source§impl<'a, M: Material> IntoIterator for &'a VoxelGrid<M>
impl<'a, M: Material> IntoIterator for &'a VoxelGrid<M>
source§impl<M: Material> Object for VoxelGrid<M>
impl<M: Material> Object for VoxelGrid<M>
source§fn render(&self, camera: &Camera, lights: &[&dyn Light])
fn render(&self, camera: &Camera, lights: &[&dyn Light])
Render the object.
Use an empty array for the
lights
argument, if the objects does not require lights to be rendered.
Must be called in the callback given as input to a RenderTarget, ColorTarget or DepthTarget write method.source§fn material_type(&self) -> MaterialType
fn material_type(&self) -> MaterialType
Returns the type of material applied to this object.
Auto Trait Implementations§
impl<M> !RefUnwindSafe for VoxelGrid<M>
impl<M> !Send for VoxelGrid<M>
impl<M> !Sync for VoxelGrid<M>
impl<M> Unpin for VoxelGrid<M>where
M: Unpin,
impl<M> !UnwindSafe for VoxelGrid<M>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more