Struct Context

Source
pub struct Context {
    pub programs: Arc<RwLock<HashMap<Vec<u8>, Program>>>,
    /* private fields */
}
Expand description

Contains the low-level OpenGL/WebGL graphics context as well as other “global” variables. Implements Deref with the low-level graphics context as target, so you can call low-level functionality directly on this struct. Use the context module to get access to low-level constants and structs.

Fields§

§programs: Arc<RwLock<HashMap<Vec<u8>, Program>>>

A cache of programs to avoid recompiling a Program every frame.

Implementations§

Source§

impl Context

Source

pub fn from_gl_context(context: Arc<Context>) -> Result<Self, CoreError>

Creates a new mid-level context, used in this core module, from a low-level OpenGL/WebGL context from the context module. This should only be called directly if you are creating a low-level context yourself (ie. not using the features in the window module). Since the content in the context module is just a re-export of glow, you can also call this method with a reference counter to a glow context created using glow and not the re-export in context.

Source

pub fn set_scissor(&self, scissor_box: ScissorBox)

Set the scissor test for this context (see ScissorBox).

Source

pub fn set_viewport(&self, viewport: Viewport)

Set the viewport for this context (See Viewport).

Source

pub fn set_cull(&self, cull: Cull)

Set the face culling for this context (see Cull).

Source

pub fn set_write_mask(&self, write_mask: WriteMask)

Set the write mask for this context (see WriteMask).

Source

pub fn set_depth_test(&self, depth_test: DepthTest)

Set the depth test for this context (see DepthTest).

Source

pub fn set_blend(&self, blend: Blend)

Set the blend state for this context (see Blend).

Source

pub fn set_render_states(&self, render_states: RenderStates)

Set the render states for this context (see RenderStates).

Source

pub fn error_check(&self) -> Result<(), CoreError>

Returns an error if an GPU-side error has happened while rendering which can be used to check for errors while developing. Can also be used in production to handle unexpected rendering errors, but do not call it too often to avoid performance problems.

Trait Implementations§

Source§

impl Clone for Context

Source§

fn clone(&self) -> Context

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Context

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for Context

Source§

type Target = Arc<Context>

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,

Source§

impl<T> SerializableAny for T
where T: 'static + Any + Clone + for<'a> Send + Sync,