pub struct Model<M: Material> {
pub material: M,
/* private fields */
}Expand description
A 3D model consisting of a triangle mesh and any material that implements the Material trait.
Fields
material: MThe material applied to the model
Implementations
sourceimpl Model<ColorMaterial>
impl Model<ColorMaterial>
sourcepub fn new(context: &Context, cpu_mesh: &CPUMesh) -> ThreeDResult<Self>
pub fn new(context: &Context, cpu_mesh: &CPUMesh) -> ThreeDResult<Self>
Creates a new 3D model with a triangle mesh as geometry and a default ColorMaterial.
sourceimpl<M: Material> Model<M>
impl<M: Material> Model<M>
sourcepub fn new_with_material(
context: &Context,
cpu_mesh: &CPUMesh,
material: M
) -> ThreeDResult<Self>
pub fn new_with_material(
context: &Context,
cpu_mesh: &CPUMesh,
material: M
) -> ThreeDResult<Self>
Creates a new 3D model with a triangle mesh as geometry and the given material.
pub fn texture_transform(&mut self) -> &Mat3
pub fn set_texture_transform(&mut self, texture_transform: Mat3)
Trait Implementations
sourceimpl<M: Material> Geometry for Model<M>
impl<M: Material> Geometry for Model<M>
sourcefn aabb(&self) -> AxisAlignedBoundingBox
fn aabb(&self) -> AxisAlignedBoundingBox
Returns the AxisAlignedBoundingBox for this geometry. Read more
sourcefn transformation(&self) -> Mat4
fn transformation(&self) -> Mat4
Returns the local to world transformation applied to this geometry. Read more
sourceimpl<M: Material> GeometryMut for Model<M>
impl<M: Material> GeometryMut for Model<M>
sourcefn set_transformation(&mut self, transformation: Mat4)
fn set_transformation(&mut self, transformation: Mat4)
Set the local to world transformation applied to this geometry. Read more
sourceimpl<M: Material> Object for Model<M>
impl<M: Material> Object for Model<M>
sourcefn render(&self, camera: &Camera, lights: &Lights) -> ThreeDResult<()>
fn render(&self, camera: &Camera, lights: &Lights) -> ThreeDResult<()>
Render the object. Must be called in a render target render function, for example in the callback function of Screen::write. You can use Lights::default() if you know the object does not require lights to be rendered. Read more
sourcefn is_transparent(&self) -> bool
fn is_transparent(&self) -> bool
Returns whether or not this object should be considered transparent. Read more
sourceimpl<M: Material> Shadable for Model<M>
impl<M: Material> Shadable for Model<M>
sourcefn render_with_material(
&self,
material: &dyn Material,
camera: &Camera,
lights: &Lights
) -> ThreeDResult<()>
fn render_with_material(
&self,
material: &dyn Material,
camera: &Camera,
lights: &Lights
) -> ThreeDResult<()>
Render the object with the given material. Must be called in a render target render function, for example in the callback function of Screen::write. You can use Lights::default() if you know the material does not require lights. Read more
sourcefn render_forward(
&self,
material: &dyn Material,
camera: &Camera,
lights: &Lights
) -> ThreeDResult<()>
fn render_forward(
&self,
material: &dyn Material,
camera: &Camera,
lights: &Lights
) -> ThreeDResult<()>
use render_with_material instead
Render the object with the given material. Must be called in a render target render function, for example in the callback function of Screen::write. You can use Lights::default() if you know the material does not require lights. Read more
sourcefn render_deferred(
&self,
material: &DeferredPhysicalMaterial,
camera: &Camera,
viewport: Viewport
) -> ThreeDResult<()>
fn render_deferred(
&self,
material: &DeferredPhysicalMaterial,
camera: &Camera,
viewport: Viewport
) -> ThreeDResult<()>
Render the geometry and surface material parameters of the object. Should usually not be called directly but used in DeferredPipeline::geometry_pass. Read more
Auto Trait Implementations
impl<M> !RefUnwindSafe for Model<M>
impl<M> !Send for Model<M>
impl<M> !Sync for Model<M>
impl<M> Unpin for Model<M> where
M: Unpin,
impl<M> !UnwindSafe for Model<M>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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>
impl<T> Pointable for T
impl<T> Pointable for T
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.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub 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