Struct rin::scene::renderer::light::LightAsCameraUBO[][src]

pub struct LightAsCameraUBO {
    pub ubo: Buffer<LightAsCameraData>,
}

Fields

ubo: Buffer<LightAsCameraData>

Implementations

impl LightAsCameraUBO[src]

pub fn from_directional(
    gl: &Renderer<'_, Screen>,
    light_pos: Point<f32, U3>,
    light_mats: &DirectionalLightMatrices,
    shadow_map: &Parameters,
    gpu_shadow_map: &ShadowMapView,
    usage: u32
) -> LightAsCameraUBO
[src]

pub fn from_spot(
    gl: &Renderer<'_, Screen>,
    light_pos: Point<f32, U3>,
    light_mats: &SpotLightMatrices,
    shadow_map: &Parameters,
    gpu_shadow_map: &ShadowMapView,
    usage: u32
) -> LightAsCameraUBO
[src]

pub fn update_directional(
    &mut self,
    dynamic: bool,
    light_pos: Point<f32, U3>,
    light_mats: &DirectionalLightMatrices,
    shadow_map: &Parameters,
    gpu_shadow_map: &ShadowMapView
)
[src]

pub fn update_spot(
    &mut self,
    dynamic: bool,
    light_pos: Point<f32, U3>,
    light_mats: &SpotLightMatrices,
    shadow_map: &Parameters,
    gpu_shadow_map: &ShadowMapView
)
[src]

Methods from Deref<Target = Buffer<LightAsCameraData>>

pub fn load(&mut self, data: &[T], usage: u32)[src]

Loads the passed data into the buffer (re)allocating it

see: gl(Named)BufferData

pub fn load_target(&mut self, data: &[T], usage: u32, target: u32)[src]

Loads the passed data into the buffer (re)allocating it to an specific target

see: gl(Named)BufferData

pub fn reserve(&mut self, len: usize, usage: u32)[src]

Reserves len amount of memory into the buffer (re)allocating it

see: gl(Named)BufferData

pub fn reserve_target(&mut self, len: usize, usage: u32, target: u32)[src]

Reserves len amount of memory into the buffer (re)allocating it to an specific target

see: gl(Named)BufferData

pub fn update(&mut self, data: &[T])[src]

Loads the passed data at the beginning of the buffer

Will panic if the buffer is not big enough or not allocated at all

see: gl(Named)BufferSubData

pub fn map_read(
    &mut self,
    flags: MapReadFlags
) -> Result<MapRead<'_, T, Buffer<T>>, Error>
[src]

Maps a buffer object’s data store

Pass a closure that receives the mapped buffer to access it

see glMapBuffer

pub fn map_write(
    &mut self,
    flags: MapWriteFlags
) -> Result<MapWrite<'_, T, Buffer<T>>, Error>
[src]

Maps a buffer object’s data store

Pass a closure that receives the mapped buffer to access it

see glMapBuffer

pub fn map_read_write(
    &mut self,
    flags: MapReadWriteFlags
) -> Result<MapReadWrite<'_, T, Buffer<T>>, Error>
[src]

Maps a buffer object’s data store

Pass a closure that receives the mapped buffer to access it

see glMapBuffer

pub unsafe fn map_read_slice(&self, flags: MapReadFlags) -> Result<&[T], Error>[src]

Maps a buffer object’s data store as a slice

This operation is unsafe cause the buffer needs to be unmapped manually so it could be accessed while mapped which is undefined behaviour

see glMapBuffer

pub unsafe fn map_write_slice(
    &mut self,
    flags: MapWriteFlags
) -> Result<&mut [T], Error>
[src]

Maps a buffer object’s data store as a slice

This operation is unsafe cause the buffer needs to be unmapped manually so it could be accessed while mapped which is undefined behaviour

see glMapBuffer

pub unsafe fn map_read_write_slice(
    &mut self,
    flags: MapReadWriteFlags
) -> Result<&mut [T], Error>
[src]

Maps a buffer object’s data store as a slice

This operation is unsafe cause the buffer needs to be unmapped manually so it could be accessed while mapped which is undefined behaviour

see glMapBuffer

pub unsafe fn unmap(&mut self)[src]

pub fn copy_to<U, B>(&self, dst: &mut B) where
    B: BufferRange<U> + WithBackendMut
[src]

Copy one buffer into another

pub fn len(&self) -> usize[src]

Number of elements on the last update

pub fn is_empty(&self) -> bool[src]

If there’s no elements loaded in the buffer

This is len == 0 not capacity == 0

pub fn capacity(&self) -> usize[src]

Allocated capacity of the buffer in number of elements

pub fn bytes(&self) -> usize[src]

Total bytes on the last update

pub fn capacity_bytes(&self) -> usize[src]

Total capcacity of the buffer in bytes

pub fn id(&self) -> u32[src]

OpenGL id

pub fn stride(&self) -> usize[src]

Stride of the buffer type

pub fn range<R>(&self, range: R) -> Range<T, Buffer<T>, &Buffer<T>> where
    R: InputRange
[src]

Get a range from the buffer

Useful to do operations on portions of the buffer

Panics if the range is out of bounds

pub fn range_mut<R>(&mut self, range: R) -> Range<T, Buffer<T>, &mut Buffer<T>> where
    R: InputRange
[src]

Get a mutable range from the buffer

Useful to do operations on portions of the buffer

Panics if the range is out of bounds

Trait Implementations

impl Component for LightAsCameraUBO[src]

type Storage = _DenseOneToNVec<LightAsCameraUBO, Group>

type MutStorageCacheGuard = ()

impl Debug for LightAsCameraUBO[src]

impl<'a> DebugParameter for LightAsCameraUBO[src]

impl Deref for LightAsCameraUBO[src]

type Target = Buffer<LightAsCameraData>

The resulting type after dereferencing.

impl DerefMut for LightAsCameraUBO[src]

impl OneToNComponent for LightAsCameraUBO[src]

Auto Trait Implementations

impl !RefUnwindSafe for LightAsCameraUBO

impl !Send for LightAsCameraUBO

impl !Sync for LightAsCameraUBO

impl Unpin for LightAsCameraUBO

impl !UnwindSafe for LightAsCameraUBO

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<V> IntoPnt<V> for V[src]

impl<V> IntoVec<V> for V[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

impl<C> ComponentThreadLocal for C where
    C: Component
[src]