Struct sfml::window::ContextSettings
source · #[repr(C)]pub struct ContextSettings {
pub depth_bits: c_uint,
pub stencil_bits: c_uint,
pub antialiasing_level: c_uint,
pub major_version: c_uint,
pub minor_version: c_uint,
pub attribute_flags: u32,
pub srgb_capable: bool,
}
Expand description
Structure defining the settings of the OpenGL context attached to a window.
ContextSettings
allows to define several advanced settings of the OpenGL context attached
to a window.
All these settings with the exception of the compatibility flag and anti-aliasing level have no impact on the regular SFML rendering (graphics module), so you may need to use this structure only if you’re using SFML as a windowing system for custom OpenGL rendering.
The depth_bits
and stencil_bits
members define the number of bits per pixel requested for
the (respectively) depth and stencil buffers.
antialiasing_level
represents the requested number of multisampling levels for anti-aliasing.
major_version
and minor_version
define the version of the OpenGL context that you want.
Only versions greater or equal to 3.0 are relevant; versions lesser than 3.0 are all handled
the same way (i.e. you can use any version < 3.0 if you don’t want an OpenGL 3 context).
When requesting a context with a version greater or equal to 3.2, you have the option of specifying whether the context should follow the core or compatibility profile of all newer (>= 3.2) OpenGL specifications. For versions 3.0 and 3.1 there is only the core profile. By default a compatibility context is created. You only need to specify the core flag if you want a core profile context to use with your own OpenGL rendering. Warning: The graphics module will not function if you request a core profile context. Make sure the attributes are set to Default if you want to use the graphics module.
Setting the debug attribute flag will request a context with additional debugging features enabled. Depending on the system, this might be required for advanced OpenGL debugging. OpenGL debugging is disabled by default.
Special Note for OS X: Apple only supports choosing between either a legacy context (OpenGL 2.1) or a core context (OpenGL version depends on the operating system version but is at least 3.2). Compatibility contexts are not supported. Further information is available on the OpenGL Capabilities Tables page. OS X also currently does not support debug contexts.
Please note that these values are only a hint. No failure will be reported if one or more
of these values are not supported by the system; instead, SFML will try to find the closest
valid match. You can then retrieve the settings that the window actually used to create
its context, with Window::settings
.
Fields§
§depth_bits: c_uint
Bits of the depth buffer.
stencil_bits: c_uint
Bits of the stencil buffer.
antialiasing_level: c_uint
Level of antialiasing.
major_version: c_uint
Major number of the context version to create.
minor_version: c_uint
Minor number of the context version to create.
attribute_flags: u32
The attribute flags to create the context with.
srgb_capable: bool
Whether the context framebuffer is sRGB capable.
Implementations§
source§impl ContextSettings
impl ContextSettings
sourcepub const ATTRIB_DEFAULT: u32 = 0u32
pub const ATTRIB_DEFAULT: u32 = 0u32
Non-debug, compatibility context (this and the core attribute are mutually exclusive).
sourcepub const ATTRIB_CORE: u32 = 1u32
pub const ATTRIB_CORE: u32 = 1u32
Core attribute.
sourcepub const ATTRIB_DEBUG: u32 = 4u32
pub const ATTRIB_DEBUG: u32 = 4u32
Debug attribute.
Trait Implementations§
source§impl Clone for sfContextSettings
impl Clone for sfContextSettings
source§fn clone(&self) -> sfContextSettings
fn clone(&self) -> sfContextSettings
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for sfContextSettings
impl Debug for sfContextSettings
source§impl Default for ContextSettings
impl Default for ContextSettings
source§fn default() -> Self
fn default() -> Self
Creates a ContextSettings
with the following values:
- Depth bits: 0
- Stencil bits: 0
- Antialiasing level: 0
- Major version: 1
- Minor version: 1
- Attribute flags:
ATTRIB_DEFAULT
- SRGB capable: false
source§impl Ord for sfContextSettings
impl Ord for sfContextSettings
source§fn cmp(&self, other: &sfContextSettings) -> Ordering
fn cmp(&self, other: &sfContextSettings) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq<sfContextSettings> for sfContextSettings
impl PartialEq<sfContextSettings> for sfContextSettings
source§fn eq(&self, other: &sfContextSettings) -> bool
fn eq(&self, other: &sfContextSettings) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<sfContextSettings> for sfContextSettings
impl PartialOrd<sfContextSettings> for sfContextSettings
source§fn partial_cmp(&self, other: &sfContextSettings) -> Option<Ordering>
fn partial_cmp(&self, other: &sfContextSettings) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more