pub struct IsourfaceMaterial {
pub voxels: Rc<Texture3D>,
pub threshold: f32,
pub color: Color,
pub metallic: f32,
pub roughness: f32,
pub size: Vec3,
pub lighting_model: LightingModel,
}Expand description
A material that renders the isosurface defined by the voxel data in the IsourfaceMaterial::voxels and the IsourfaceMaterial::threshold. The surface is defined by all the points in the volume where the red channel of the voxel data is equal to the threshold. This material should be applied to a cube with center in origo, for example CpuMesh::cube.
Fields
voxels: Rc<Texture3D>The voxel data that defines the isosurface.
threshold: f32Threshold (in the range [0..1]) that defines the surface in the voxel data.
color: ColorBase surface color. Assumed to be in linear color space.
metallic: f32A value in the range [0..1] specifying how metallic the surface is.
roughness: f32A value in the range [0..1] specifying how rough the surface is.
size: Vec3The size of the cube that is used to render the voxel data. The texture is scaled to fill the entire cube.
lighting_model: LightingModelThe lighting model used when rendering this material
Trait Implementations
sourceimpl Clone for IsourfaceMaterial
impl Clone for IsourfaceMaterial
sourcefn clone(&self) -> IsourfaceMaterial
fn clone(&self) -> IsourfaceMaterial
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Material for IsourfaceMaterial
impl Material for IsourfaceMaterial
sourcefn fragment_shader_source(
&self,
_use_vertex_colors: bool,
lights: &[&dyn Light]
) -> String
fn fragment_shader_source(
&self,
_use_vertex_colors: bool,
lights: &[&dyn Light]
) -> String
Returns the fragment shader source for this material. Should output the final fragment color.
sourcefn use_uniforms(
&self,
program: &Program,
camera: &Camera,
lights: &[&dyn Light]
) -> ThreeDResult<()>
fn use_uniforms(
&self,
program: &Program,
camera: &Camera,
lights: &[&dyn Light]
) -> ThreeDResult<()>
Sends the uniform data needed for this material to the fragment shader.
sourcefn render_states(&self) -> RenderStates
fn render_states(&self) -> RenderStates
Returns the render states needed to render with this material.
sourcefn is_transparent(&self) -> bool
fn is_transparent(&self) -> bool
Returns whether or not this material is transparent.
Auto Trait Implementations
impl !RefUnwindSafe for IsourfaceMaterial
impl !Send for IsourfaceMaterial
impl !Sync for IsourfaceMaterial
impl Unpin for IsourfaceMaterial
impl !UnwindSafe for IsourfaceMaterial
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more