Struct conrod::backend::glium::glium::HeadlessRenderer
[−]
[src]
pub struct HeadlessRenderer { /* fields omitted */ }
A headless glutin context.
Methods
impl Headless
[src]
fn new(context: HeadlessContext) -> Result<Headless, IncompatibleOpenGl>
[src]
Create a new glium Headless
context.
Performs a compatibility check to make sure that all core elements of glium are supported by the implementation.
unsafe fn unchecked(
context: HeadlessContext
) -> Result<Headless, IncompatibleOpenGl>
[src]
context: HeadlessContext
) -> Result<Headless, IncompatibleOpenGl>
Create a new glium Headless
context.
This function does the same as build_glium
, except that the resulting context
will assume that the current OpenGL context will never change.
fn with_debug(
context: HeadlessContext,
debug: DebugCallbackBehavior
) -> Result<Headless, IncompatibleOpenGl>
[src]
context: HeadlessContext,
debug: DebugCallbackBehavior
) -> Result<Headless, IncompatibleOpenGl>
The same as the new
constructor, but allows for specifying debug callback behaviour.
unsafe fn unchecked_with_debug(
context: HeadlessContext,
debug: DebugCallbackBehavior
) -> Result<Headless, IncompatibleOpenGl>
[src]
context: HeadlessContext,
debug: DebugCallbackBehavior
) -> Result<Headless, IncompatibleOpenGl>
The same as the unchecked
constructor, but allows for specifying debug callback behaviour.
fn draw(&self) -> Frame
[src]
Start drawing on the backbuffer.
This function returns a Frame
, which can be used to draw on it. When the Frame
is
destroyed, the buffers are swapped.
Note that destroying a Frame
is immediate, even if vsync is enabled.
If the framebuffer dimensions have changed since the last call to draw
, the inner glutin
context will be resized accordingly before returning the Frame
.
Methods from Deref<Target = Context>
fn get_framebuffer_dimensions(&self) -> (u32, u32)
[src]
Calls get_framebuffer_dimensions
on the backend object stored by this context.
unsafe fn rebuild<B>(&self, new_backend: B) -> Result<(), IncompatibleOpenGl> where
B: Backend + 'static,
[src]
B: Backend + 'static,
Changes the OpenGL context associated with this context.
The new context must have lists shared with the old one.
fn swap_buffers(&self) -> Result<(), SwapBuffersError>
[src]
Swaps the buffers in the backend.
fn get_version(&self) -> &Version
[src]
DEPRECATED. Use get_opengl_version
instead.
fn get_opengl_version(&self) -> &Version
[src]
Returns the OpenGL version detected by this context.
fn get_supported_glsl_version(&self) -> Version
[src]
Returns the GLSL version guaranteed to be supported.
fn is_glsl_version_supported(&self, version: &Version) -> bool
[src]
Returns true if the given GLSL version is supported.
fn get_opengl_version_string(&self) -> &str
[src]
Returns a string containing this GL version or release number used by this context.
Vendor-specific information may follow the version number.
fn get_opengl_vendor_string(&self) -> &str
[src]
Returns a string containing the company responsible for this GL implementation.
fn get_opengl_renderer_string(&self) -> &str
[src]
Returns a string containing the name of the GL renderer used by this context.
This name is typically specific to a particular configuration of a hardware platform.
fn is_debug(&self) -> bool
[src]
Returns true if the context is in debug mode.
Debug mode may provide additional error and performance issue reporting functionality.
fn is_forward_compatible(&self) -> bool
[src]
Returns true if the context is in "forward-compatible" mode.
Forward-compatible mode means that no deprecated functionality will be supported.
fn get_opengl_profile(&self) -> Option<Profile>
[src]
Returns this context's OpenGL profile if available.
The context profile is available from OpenGL 3.2 onwards. Returns None
if not supported.
fn is_robust(&self) -> bool
[src]
Returns true if out-of-bound buffer access from the GPU side (inside a program) cannot result in a crash.
You should take extra care if is_robust
returns false.
fn is_context_loss_possible(&self) -> bool
[src]
Returns true if a context loss is possible.
fn is_context_lost(&self) -> bool
[src]
Returns true if the context has been lost and needs to be recreated.
Implementation
If it has been determined that the context has been lost before, then the function
immediately returns true. Otherwise, calls glGetGraphicsResetStatus
. If this function
is not available, returns false.
fn get_release_behavior(&self) -> ReleaseBehavior
[src]
Returns the behavior when the current OpenGL context is changed.
The most common value is Flush
. In order to get None
you must explicitly request it
during creation.
fn get_max_anisotropy_support(&self) -> Option<u16>
[src]
Returns the maximum value that can be used for anisotropic filtering, or None
if the hardware doesn't support it.
fn get_max_viewport_dimensions(&self) -> (u32, u32)
[src]
Returns the maximum dimensions of the viewport.
Glium will panic if you request a larger viewport than this when drawing.
fn release_shader_compiler(&self)
[src]
Releases the shader compiler, indicating that no new programs will be created for a while.
This method is a no-op if it's not available in the implementation.
fn get_free_video_memory(&self) -> Option<usize>
[src]
Returns an estimate of the amount of video memory available in bytes.
Returns None
if no estimate is available.
fn read_front_buffer<T>(&self) -> T where
T: Texture2dDataSink<(u8, u8, u8, u8)>,
[src]
T: Texture2dDataSink<(u8, u8, u8, u8)>,
Reads the content of the front buffer.
You will only see the data that has finished being drawn.
This function can return any type that implements Texture2dDataSink<(u8, u8, u8, u8)>
.
Example
let pixels: Vec<Vec<(u8, u8, u8, u8)>> = display.read_front_buffer();
unsafe fn exec_in_context<'a, T, F>(&self, action: F) -> T where
F: FnOnce() -> T + 'a,
T: Send + 'static,
[src]
F: FnOnce() -> T + 'a,
T: Send + 'static,
Execute an arbitrary closure with the OpenGL context active. Useful if another component needs to directly manipulate OpenGL state.
If action
manipulates any OpenGL state, it must be restored before action
completes.
fn assert_no_error(&self, user_msg: Option<&str>)
[src]
Asserts that there are no OpenGL errors pending.
This function should be used in tests.
fn synchronize(&self)
[src]
DEPRECATED. Renamed finish
.
fn finish(&self)
[src]
Calls glFinish()
. This waits until all the previously issued commands have finished
being executed.
When you execute OpenGL functions, they are not executed immediately. Instead they are put in a queue. This function flushes this queue, then waits until all commands have finished being executed.
You normally don't need to call this function manually, except for debugging purposes.
fn flush(&self)
[src]
Calls glFlush()
. This starts executing the commands that you have issued if it is not
yet the case.
When you execute OpenGL functions, they are not executed immediately. Instead they are put in a queue. This function flushes this queue so that commands start being executed.
You normally don't need to call this function manually. Swapping buffers automatically flushes the queue. This function can be useful if you want to benchmark the time it takes from your OpenGL driver to process commands.
fn insert_debug_marker(&self, marker: &str) -> Result<(), ()>
[src]
Inserts a debugging string in the commands queue. If you use an OpenGL debugger, you will be able to see that string.
This is helpful to understand where you are when you have big applications.
Returns Err
if the backend doesn't support this functionality. You can choose whether
to call .unwrap()
if you want to make sure that it works, or .ok()
if you don't care.
fn debug_insert_debug_marker(&self, marker: &str) -> Result<(), ()>
[src]
Same as insert_debug_marker
, except that if you don't compile with debug_assertions
it is a no-op and returns Ok
.
Trait Implementations
impl Facade for Headless
[src]
fn get_context(&self) -> &Rc<Context>
[src]
Returns an opaque type that contains the OpenGL state, extensions, version, etc.