Struct three_d::Mesh[][src]

pub struct Mesh {
    pub name: String,
    pub cull: CullType,
    pub transformation: Mat4,
    // some fields omitted
}
Expand description

A triangle mesh which can be rendered with one of the default render functions or with a custom MeshProgram. See also PhongMesh for rendering a mesh with lighting.

Fields

name: Stringcull: CullTypetransformation: Mat4

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_color(
    &self,
    render_states: RenderStates,
    viewport: Viewport,
    camera: &Camera
) -> Result<(), Error>
[src]

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.

Errors

Will return an error if the mesh has no colors.

pub fn render_with_color(
    &self,
    color: &Vec4,
    render_states: RenderStates,
    viewport: Viewport,
    camera: &Camera
) -> Result<(), Error>
[src]

Render the mesh with the given color. Must be called in a render target render function, for example in the callback function of Screen::write.

pub fn render_uvs(
    &self,
    render_states: RenderStates,
    viewport: Viewport,
    camera: &Camera
) -> Result<(), Error>
[src]

Render the uv coordinates of the mesh in red (u) and green (v). Must be called in a render target render function, for example in the callback function of Screen::write.

Errors

Will return an error if the mesh has no uv coordinates.

pub fn render_with_texture(
    &self,
    texture: &impl Texture,
    render_states: RenderStates,
    viewport: Viewport,
    camera: &Camera
) -> Result<(), Error>
[src]

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.

Errors

Will return an error if the mesh has no uv coordinates.

pub fn render(
    &self,
    program: &MeshProgram,
    render_states: RenderStates,
    viewport: Viewport,
    camera: &Camera
) -> Result<(), Error>
[src]

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.

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

impl Clone for Mesh[src]

fn clone(&self) -> Self[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Drop for Mesh[src]

fn drop(&mut self)[src]

Executes the destructor for this type. Read more

impl Geometry for Mesh[src]

fn render_depth_to_red(
    &self,
    render_states: RenderStates,
    viewport: Viewport,
    camera: &Camera,
    max_depth: f32
) -> Result<(), Error>
[src]

Render the depth (scaled such that a value of 1 corresponds to max_depth) into the red channel of the current color render target which for example is used for picking. Must be called in a render target render function, for example in the callback function of Screen::write. Read more

fn render_depth(
    &self,
    render_states: RenderStates,
    viewport: Viewport,
    camera: &Camera
) -> Result<(), Error>
[src]

Render only the depth 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. Read more

fn aabb(&self) -> Option<AxisAlignedBoundingBox>[src]

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]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

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]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.