QRhiViewport Class
Specifies a viewport rectangle. More...
Header: | #include <rhi/qrhi.h> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate) |
qmake: | QT += gui-private |
Since: | Qt 6.6 |
Public Functions
QRhiViewport() | |
QRhiViewport(float x, float y, float w, float h, float minDepth = 0.0f, float maxDepth = 1.0f) | |
float | maxDepth() const |
float | minDepth() const |
void | setMaxDepth(float maxDepth) |
void | setMinDepth(float minDepth) |
void | setViewport(float x, float y, float w, float h) |
std::array<float, 4> | viewport() const |
Related Non-Members
size_t | qHash(const QRhiViewport &v, size_t seed = 0) |
bool | operator!=(const QRhiViewport &a, const QRhiViewport &b) |
bool | operator==(const QRhiViewport &a, const QRhiViewport &b) |
Detailed Description
Used with QRhiCommandBuffer::setViewport().
QRhi assumes OpenGL-style viewport coordinates, meaning x and y are bottom-left. Negative width or height are not allowed.
Typical usage is like the following:
const QSize outputSizeInPixels = swapchain->currentPixelSize(); const QRhiViewport viewport(0, 0, outputSizeInPixels.width(), outputSizeInPixels.height()); cb->beginPass(swapchain->currentFrameRenderTarget(), Qt::black, { 1.0f, 0 }); cb->setGraphicsPipeline(ps); cb->setViewport(viewport); // ...
Note: This is a RHI API with limited compatibility guarantees, see QRhi for details.
See also QRhiCommandBuffer::setViewport(), QRhi::clipSpaceCorrMatrix(), and QRhiScissor.
Member Function Documentation
[constexpr noexcept]
QRhiViewport::QRhiViewport()
Constructs a viewport description with an empty rectangle and a depth range of 0.0f - 1.0f.
See also QRhi::clipSpaceCorrMatrix().
QRhiViewport::QRhiViewport(float x, float y, float w, float h, float minDepth = 0.0f, float maxDepth = 1.0f)
Constructs a viewport description with the rectangle specified by x, y, w, h and the depth range minDepth and maxDepth.
Note: x and y are assumed to be the bottom-left position. w and h should not be negative, the viewport will be ignored by QRhiCommandBuffer::setViewport() otherwise.
See also QRhi::clipSpaceCorrMatrix().
float QRhiViewport::maxDepth() const
Returns the maxDepth value of the depth range of the viewport.
See also setMaxDepth().
float QRhiViewport::minDepth() const
Returns the minDepth value of the depth range of the viewport.
See also setMinDepth().
void QRhiViewport::setMaxDepth(float maxDepth)
Sets the maxDepth of the depth range of the viewport. By default this is set to 1.0f.
See also maxDepth().
void QRhiViewport::setMinDepth(float minDepth)
Sets the minDepth of the depth range of the viewport. By default this is set to 0.0f.
See also minDepth().
void QRhiViewport::setViewport(float x, float y, float w, float h)
Sets the viewport's position and size to x, y, w, and h.
Note: Viewports are specified in a coordinate system that has its origin in the bottom-left.
See also viewport().
std::array<float, 4> QRhiViewport::viewport() const
Returns the viewport x, y, width, and height.
See also setViewport().
Related Non-Members
[noexcept]
size_t qHash(const QRhiViewport &v, size_t seed = 0)
Returns the hash value for v, using seed to seed the calculation.
[noexcept]
bool operator!=(const QRhiViewport &a, const QRhiViewport &b)
Returns false
if the values in the two QRhiViewport objects a and b are equal; otherwise returns true
.
[noexcept]
bool operator==(const QRhiViewport &a, const QRhiViewport &b)
Returns true
if the values in the two QRhiViewport objects a and b are equal.