Manages viewport and scissor rectangles and clearing.
More...
#include <spk_view_region.hpp>
|
| enum class | ClearMode { Color
, Depth
, Stencil
} |
| | Buffer types that can be cleared.
|
|
using | ClearMask = spk::Flags<ClearMode> |
| | Mask of buffers to clear at once.
|
Manages viewport and scissor rectangles and clearing.
Manages viewport and scissor rectangles and clearing.
Definition spk_view_region.hpp:26
void setScissor(const spk::Extend2D &p_extend) noexcept
Sets the GL scissor rectangle.
Definition spk_view_region.cpp:111
void apply() const
Applies viewport and scissor to OpenGL state.
Definition spk_view_region.cpp:151
void setViewport(const spk::Extend2D &p_extend) noexcept
Sets the GL viewport rectangle.
Definition spk_view_region.cpp:106
◆ activeViewRegion()
Returns the active view region used for OpenGL operations.
- Returns
- Pointer to the active view region or nullptr.
◆ clear()
Clears framebuffer with given color and mask.
- Parameters
-
| p_backgroundColor | Clear color. |
| p_clearMask | Buffers to clear. |
◆ convertOpenGLToScreen()
Converts an OpenGL normalized position back to screen-space pixels.
- Parameters
-
| p_openGLPosition | Normalized device coordinates. |
| p_layer | Layer value to map back into pixel space (default 0). |
- Returns
- Position expressed in pixels relative to the active viewport (origin at top-left).
◆ convertScreenToOpenGL()
Converts a screen-space pixel position to OpenGL normalized device coordinates.
- Parameters
-
| p_screenPosition | Position expressed in pixels with an origin at the top-left of the viewport. |
| p_layer | Layer value to map into normalized coordinates (default 0). |
- Returns
- Position in the range [-1, 1] relative to the active viewport.
◆ maxLayer()
| size_t spk::OpenGL::ViewRegion::maxLayer |
( |
| ) |
|
|
staticnoexcept |
Returns the current configured maximum layer value.
- Returns
- Current max layer.
◆ scissor()
Returns current scissor settings.
- Returns
- Scissor extend.
◆ setMaxLayer()
| void spk::OpenGL::ViewRegion::setMaxLayer |
( |
size_t | p_maxLayer | ) |
|
|
staticnoexcept |
Sets the maximum layer value used for depth mapping.
- Parameters
-
| p_maxLayer | New maximum layer. |
◆ setScissor()
| void spk::OpenGL::ViewRegion::setScissor |
( |
const spk::Extend2D & | p_extend | ) |
|
|
noexcept |
Sets the GL scissor rectangle.
- Parameters
-
◆ setViewport()
| void spk::OpenGL::ViewRegion::setViewport |
( |
const spk::Extend2D & | p_extend | ) |
|
|
noexcept |
Sets the GL viewport rectangle.
- Parameters
-
◆ setWindowSize()
| void spk::OpenGL::ViewRegion::setWindowSize |
( |
const spk::Extend2D & | p_windowSize | ) |
|
|
staticnoexcept |
Sets the logical window size used for Y inversion (top-left -> bottom-left).
- Parameters
-
| p_windowSize | Window extent in pixels. |
◆ viewport()
| const spk::Extend2D & spk::OpenGL::ViewRegion::viewport |
( |
| ) |
const |
|
noexcept |
Returns current viewport settings.
- Returns
- Viewport extend.
◆ windowSize()
Returns the current window size.
- Returns
- Window extent in pixels.
◆ defaultClearMask
Initial value:{
ViewRegion::ClearMode::Color,
ViewRegion::ClearMode::Depth,
ViewRegion::ClearMode::Stencil}
Default mask clearing color, depth, and stencil.
The documentation for this class was generated from the following files: