Struct three_d::core::Mesh [−][src]
pub struct Mesh {
pub position_buffer: Rc<VertexBuffer>,
pub normal_buffer: Option<Rc<VertexBuffer>>,
pub uv_buffer: Option<Rc<VertexBuffer>>,
pub color_buffer: Option<Rc<VertexBuffer>>,
pub index_buffer: Option<Rc<ElementBuffer>>,
pub name: String,
// some fields omitted
}
Expand description
A triangle mesh where the mesh data is transfered to the GPU.
Fields
position_buffer: Rc<VertexBuffer>
Buffer with the position data, ie. (x, y, z)
for each vertex
normal_buffer: Option<Rc<VertexBuffer>>
Buffer with the normal data, ie. (x, y, z)
for each vertex.
uv_buffer: Option<Rc<VertexBuffer>>
Buffer with the uv coordinate data, ie. (u, v)
for each vertex.
color_buffer: Option<Rc<VertexBuffer>>
Buffer with the color data, ie. (r, g, b)
for each vertex.
index_buffer: Option<Rc<ElementBuffer>>
Buffer with the index data, ie. three contiguous integers define the triangle where each integer is and index into the other vertex buffers.
name: String
Optional name of the mesh.
Implementations
Copies the per vertex data defined in the given CPUMesh to the GPU, thereby making it possible to render the mesh.
👎 Deprecated: Use Model instead
Use Model instead
Returns the local to world transformation of this mesh.
👎 Deprecated: Use Model instead
Use Model instead
Set the local to world transformation of this mesh.
pub fn render(
&self,
render_states: RenderStates,
program: &Program,
camera_buffer: &UniformBuffer,
viewport: Viewport
) -> ThreeDResult<()>
👎 Deprecated: Instead, use render_forward in Model or use Program and send attributes and uniforms self
pub fn render(
&self,
render_states: RenderStates,
program: &Program,
camera_buffer: &UniformBuffer,
viewport: Viewport
) -> ThreeDResult<()>
Instead, use render_forward in Model or use Program and send attributes and uniforms self
Render the mesh with the given Program. 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 program requires a certain attribute and the mesh does not have that attribute data. 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.
👎 Deprecated: Use Model instead
Use Model instead
Computes the axis aligned bounding box for this mesh.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Mesh
impl !UnwindSafe for Mesh
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more