Struct mallumo::LightGroup
[−]
[src]
pub struct LightGroup { pub lights: Vec<Light>, pub light_parameters_buffer: MutableBuffer, // some fields omitted }
Multiple Lights, their Light Parameters are stored in one buffer.
Fields
lights: Vec<Light>
light_parameters_buffer: MutableBuffer
Methods
impl<'a> LightGroup
[src]
fn new(lights: Vec<Light>) -> Result<LightGroup, Error>
[src]
Creates new Light Group from Lights.
Must take ownership of Lights because shadowmaps are transfered to Light Group.
fn render_shadowmaps(
&mut self,
renderer: &mut Renderer,
shape_lists: &[&ShapeList]
) -> Result<(), Error>
[src]
&mut self,
renderer: &mut Renderer,
shape_lists: &[&ShapeList]
) -> Result<(), Error>
Renders shadowmaps from Shape Lists.
fn get_buffer(&self) -> &MutableBuffer
[src]
fn get_shadowmaps(&'a self) -> Vec<Option<&'a TextureCubemap>>
[src]
fn update_buffer(&mut self) -> Result<(), Error>
[src]
Updates Light Parameter buffer.
Must be called after changing light_parameters(if changes are supposed to be seen on GPU side).