Struct maia_wasm::render::RenderObject
source · pub struct RenderObject {
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§
§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: DrawModeDraw 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§
impl Freeze for RenderObject
impl !RefUnwindSafe for RenderObject
impl !Send for RenderObject
impl !Sync for RenderObject
impl Unpin for RenderObject
impl !UnwindSafe for RenderObject
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more