[][src]Trait sixtyfps_corelib::graphics::Frame

pub trait Frame {
    type LowLevelRenderingPrimitive;
    pub fn render_primitive(
        &mut self,
        primitive: &Self::LowLevelRenderingPrimitive,
        transform: &Matrix4<f32>,
        variables: SharedArray<RenderingVariable>
    ) -> Vec<Self::LowLevelRenderingPrimitive>; }

Frame is used to render previously created GraphicsBackend::LowLevelRenderingPrimitive instances to the back-buffer of the window.

Associated Types

type LowLevelRenderingPrimitive[src]

This associated type is usually provided through the GraphicsBackend::LowLevelRenderingPrimitive type.

Loading content...

Required methods

pub fn render_primitive(
    &mut self,
    primitive: &Self::LowLevelRenderingPrimitive,
    transform: &Matrix4<f32>,
    variables: SharedArray<RenderingVariable>
) -> Vec<Self::LowLevelRenderingPrimitive>
[src]

Renderings the provided primitive to the back-buffer, taking the provided transform and additional rendering variables into account.

The returned primitives must be rendered after rendering any rendering primitives that are supposed to be in a visual tree after this primitive. This is for example used to clean up clipping regions.

Arguments:

  • primitive: The primitive to render.
  • transform: The geometry of the primitive will be transformed by this 4x4 matrix. This can be used to apply rotation, scaling, etc. without re-creating the low-level rendering primitive.
  • variables: An array of RenderingVariable instances that are applied when rendering the primitive. These variables typically translate to OpenGL uniforms and allow for affecting various aspects of the rendering of the primitive without expensive buffer uploads to the GPU.
Loading content...

Implementors

Loading content...