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.