RenderObject

Struct RenderObject 

Source
pub struct RenderObject {
    pub enabled: Rc<Cell<bool>>,
    pub program: Rc<WebGlProgram>,
    pub vao: Rc<WebGlVertexArrayObject>,
    pub draw_mode: DrawMode,
    pub draw_num_indices: Rc<Cell<u32>>,
    pub draw_offset_elements: Rc<Cell<usize>>,
    pub uniforms: Box<[Rc<dyn UniformValue>]>,
    pub textures: Box<[Texture]>,
}
Expand description

Render object.

Render objects describe a scene, and are added to the render engine using RenderEngine::add_object. Render objects are drawn using the drawElements() WebGL2 function.

Fields§

§enabled: Rc<Cell<bool>>

Controls whether the object is enabled.

If enabled is false, the object is not rendered.

§program: Rc<WebGlProgram>

WebGL2 program used to render the object.

§vao: Rc<WebGlVertexArrayObject>

VAO storing all the vertex arrays for the object.

This VAO contains the element array as well as any arrays needed for the vertex shader.

§draw_mode: DrawMode

Draw mode for the object.

§draw_num_indices: Rc<Cell<u32>>

Number of elements to draw.

This parameter is passed to drawElements().

§draw_offset_elements: Rc<Cell<usize>>

Offset in the element array buffer to use for drawing.

Unlike in the drawElements() WebGL2 function, this field uses units of elements rather than bytes. The value is converted to bytes and passed to drawElements().

§uniforms: Box<[Rc<dyn UniformValue>]>

Uniforms used by the object.

§textures: Box<[Texture]>

Textures used by the object.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.