[−][src]Struct rg3d::ContextBuilder
An object that allows you to build Context
s, RawContext<T>
s and
WindowedContext<T>
s.
One notable limitation of the Wayland backend when it comes to shared
Context
s is that both contexts must use the same events loop.
Fields
gl_attr: GlAttributes<&'a Context<T>>
The attributes to use to create the context.
pf_reqs: PixelFormatRequirements
The pixel format requirements
Implementations
impl<'a, T> ContextBuilder<'a, T> where
T: ContextCurrentState,
[src]
T: ContextCurrentState,
pub fn build_headless<TE>(
self,
el: &EventLoopWindowTarget<TE>,
size: PhysicalSize<u32>
) -> Result<Context<NotCurrent>, CreationError>
[src]
self,
el: &EventLoopWindowTarget<TE>,
size: PhysicalSize<u32>
) -> Result<Context<NotCurrent>, CreationError>
Builds the given GL context.
When on a unix operating system, prefer build_surfaceless
. If both
build_surfaceless
and build_headless
fail, try using a hidden
window, or build_osmesa
. Please note that if you choose to use a
hidden window, you must still handle the events it generates on the
events loop.
Errors can occur in two scenarios:
- If the window could not be created (via permission denied, incompatible system, out of memory, etc.). This should be very rare.
- If the OpenGL
Context
could not be created. This generally happens because the underlying platform doesn't support a requested feature.
impl<'a, T> ContextBuilder<'a, T> where
T: ContextCurrentState,
[src]
T: ContextCurrentState,
pub fn build_windowed<TE>(
self,
wb: WindowBuilder,
el: &EventLoopWindowTarget<TE>
) -> Result<ContextWrapper<NotCurrent, Window>, CreationError>
[src]
self,
wb: WindowBuilder,
el: &EventLoopWindowTarget<TE>
) -> Result<ContextWrapper<NotCurrent, Window>, CreationError>
Builds the given window along with the associated GL context, returning
the pair as a WindowedContext<T>
.
Errors can occur in two scenarios:
- If the window could not be created (via permission denied, incompatible system, out of memory, etc.). This should be very rare.
- If the OpenGL
Context
could not be created. This generally happens because the underlying platform doesn't support a requested feature.
impl<'a> ContextBuilder<'a, NotCurrent>
[src]
pub fn new() -> ContextBuilder<'a, NotCurrent>
[src]
Initializes a new ContextBuilder
with default values.
impl<'a, T> ContextBuilder<'a, T> where
T: ContextCurrentState,
[src]
T: ContextCurrentState,
pub fn with_gl(self, request: GlRequest) -> ContextBuilder<'a, T>
[src]
Sets how the backend should choose the OpenGL API and version.
pub fn with_gl_profile(self, profile: GlProfile) -> ContextBuilder<'a, T>
[src]
Sets the desired OpenGL Context
profile.
pub fn with_gl_debug_flag(self, flag: bool) -> ContextBuilder<'a, T>
[src]
Sets the debug flag for the OpenGL Context
.
The default value for this flag is cfg!(debug_assertions)
, which means
that it's enabled when you run cargo build
and disabled when you run
cargo build --release
.
pub fn with_gl_robustness(self, robustness: Robustness) -> ContextBuilder<'a, T>
[src]
Sets the robustness of the OpenGL Context
. See the docs of
Robustness
.
pub fn with_vsync(self, vsync: bool) -> ContextBuilder<'a, T>
[src]
Requests that the window has vsync enabled.
By default, vsync is not enabled.
pub fn with_shared_lists<T2>(
self,
other: &'a Context<T2>
) -> ContextBuilder<'a, T2> where
T2: ContextCurrentState,
[src]
self,
other: &'a Context<T2>
) -> ContextBuilder<'a, T2> where
T2: ContextCurrentState,
Share the display lists with the given Context
.
pub fn with_multisampling(self, samples: u16) -> ContextBuilder<'a, T>
[src]
Sets the multisampling level to request. A value of 0
indicates that
multisampling must not be enabled.
Panic
Will panic if samples
is not a power of two.
pub fn with_depth_buffer(self, bits: u8) -> ContextBuilder<'a, T>
[src]
Sets the number of bits in the depth buffer.
pub fn with_stencil_buffer(self, bits: u8) -> ContextBuilder<'a, T>
[src]
Sets the number of bits in the stencil buffer.
pub fn with_pixel_format(
self,
color_bits: u8,
alpha_bits: u8
) -> ContextBuilder<'a, T>
[src]
self,
color_bits: u8,
alpha_bits: u8
) -> ContextBuilder<'a, T>
Sets the number of bits in the color buffer.
pub fn with_stereoscopy(self) -> ContextBuilder<'a, T>
[src]
Request the backend to be stereoscopic.
pub fn with_srgb(self, srgb_enabled: bool) -> ContextBuilder<'a, T>
[src]
Sets whether sRGB should be enabled on the window.
The default value is true
.
pub fn with_double_buffer(
self,
double_buffer: Option<bool>
) -> ContextBuilder<'a, T>
[src]
self,
double_buffer: Option<bool>
) -> ContextBuilder<'a, T>
Sets whether double buffering should be enabled.
The default value is None
.
Platform-specific
This option will be taken into account on the following platforms:
- MacOS
- Unix operating systems using GLX with X
- Windows using WGL
pub fn with_hardware_acceleration(
self,
acceleration: Option<bool>
) -> ContextBuilder<'a, T>
[src]
self,
acceleration: Option<bool>
) -> ContextBuilder<'a, T>
Sets whether hardware acceleration is required.
The default value is Some(true)
Platform-specific
This option will be taken into account on the following platforms:
- MacOS
- Unix operating systems using EGL with either X or Wayland
- Windows using EGL or WGL
- Android using EGL
Trait Implementations
impl<'a, T> Clone for ContextBuilder<'a, T> where
T: ContextCurrentState + Clone,
[src]
T: ContextCurrentState + Clone,
pub fn clone(&self) -> ContextBuilder<'a, T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'a, T> Debug for ContextBuilder<'a, T> where
T: ContextCurrentState + Debug,
[src]
T: ContextCurrentState + Debug,
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for ContextBuilder<'a, T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, T> Send for ContextBuilder<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Sync for ContextBuilder<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Unpin for ContextBuilder<'a, T>
impl<'a, T> UnwindSafe for ContextBuilder<'a, T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,