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 &key, 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 &key, size_t seed = 0)
Returns the hash value for key, 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.
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.