Struct three_d::Mesh [−][src]
A triangle mesh which can be rendered with one of the default render functions or with a custom MeshProgram. See also PhongForwardMesh and PhongDeferredMesh for rendering a mesh with lighting.
Implementations
impl Mesh
[src]
pub fn new(context: &Context, cpu_mesh: &CPUMesh) -> Result<Self, Error>
[src]
Copies the per vertex data defined in the given CPUMesh to the GPU, thereby making it possible to render the mesh.
pub fn render_depth(
&self,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
[src]
&self,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
Render only the depth of the mesh into the current depth render target which is useful for shadow maps or depth pre-pass. Must be called in a render target render function, for example in the callback function of Screen::write. The transformation can be used to position, orientate and scale the mesh.
pub fn render_color(
&self,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
[src]
&self,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
Render the mesh with a color per triangle vertex. The colors are defined when constructing the mesh. Must be called in a render target render function, for example in the callback function of Screen::write. The transformation can be used to position, orientate and scale the mesh.
Errors
Will return an error if the mesh has no colors.
pub fn render_with_color(
&self,
color: &Vec4,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
[src]
&self,
color: &Vec4,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
Render the instanced mesh with the given color. Must be called in a render target render function, for example in the callback function of Screen::write. The transformation can be used to position, orientate and scale the mesh.
pub fn render_with_texture(
&self,
texture: &dyn Texture,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
[src]
&self,
texture: &dyn Texture,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
Render the mesh with the given texture. Must be called in a render target render function, for example in the callback function of Screen::write. The transformation can be used to position, orientate and scale the mesh.
Errors
Will return an error if the mesh has no uv coordinates.
pub fn render(
&self,
program: &MeshProgram,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
[src]
&self,
program: &MeshProgram,
render_states: RenderStates,
viewport: Viewport,
transformation: &Mat4,
camera: &Camera
) -> Result<(), Error>
Render the mesh with the given MeshProgram. Must be called in a render target render function, for example in the callback function of Screen::write. The transformation can be used to position, orientate and scale the mesh.
Errors
Will return an error if the mesh shader program requires a certain attribute and the mesh does not have that attribute. For example if the program needs the normal to calculate lighting, but the mesh does not have per vertex normals, this function will return an error.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Mesh
impl !Send for Mesh
impl !Sync for Mesh
impl Unpin for Mesh
impl UnwindSafe for Mesh
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, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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>,