Sur cette page

QRhiViewport Class

Définit un rectangle de fenêtre d'affichage. En savoir plus...

En-tête : #include <rhi/qrhi.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
qmake : QT += gui-private
Depuis : Qt 6.6

Fonctions publiques

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
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)

Description détaillée

Utilisée avec ` QRhiCommandBuffer::setViewport()`.

QRhi Suppose des coordonnées de fenêtre d'affichage de type OpenGL, ce qui signifie que x et y sont calculés à partir du coin inférieur gauche. Les valeurs négatives pour la largeur ou la hauteur ne sont pas autorisées.

L'utilisation typique est la suivante :

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);
// ...

Remarque : il s’agit d’une API RHI dont la compatibilité n’est pas entièrement garantie ; voir QRhi pour plus de détails.

Voir également QRhiCommandBuffer::setViewport(), QRhi::clipSpaceCorrMatrix() et QRhiScissor.

Documentation des fonctions membres

[constexpr noexcept default] QRhiViewport::QRhiViewport()

Crée une description de fenêtre d'affichage comprenant un rectangle vide et une plage de profondeur comprise entre 0,0f et 1,0f.

Voir également QRhi::clipSpaceCorrMatrix().

QRhiViewport::QRhiViewport(float x, float y, float w, float h, float minDepth = 0.0f, float maxDepth = 1.0f)

Crée une description de fenêtre d'affichage avec le rectangle spécifié par x, y, w, h et la plage de profondeur minDepth et maxDepth.

Remarque : x et y sont considérés comme correspondant à la position en bas à gauche. w et h ne doivent pas être négatifs, sinon la fenêtre d’affichage sera ignorée par la fonction QRhiCommandBuffer::setViewport().

Voir également QRhi::clipSpaceCorrMatrix().

float QRhiViewport::maxDepth() const

Renvoie la valeur « maxDepth » de la plage de profondeur de la fenêtre d'affichage.

Voir également setMaxDepth().

float QRhiViewport::minDepth() const

Renvoie la valeur « minDepth » de la plage de profondeur de la fenêtre d'affichage.

Voir aussi setMinDepth().

void QRhiViewport::setMaxDepth(float maxDepth)

Définit l'maxDepth de la plage de profondeur de la fenêtre d'affichage. Par défaut, cette valeur est définie sur 1,0f.

Voir aussi maxDepth().

void QRhiViewport::setMinDepth(float minDepth)

Définit l'minDepth de la plage de profondeur de la fenêtre d'affichage. Par défaut, cette valeur est définie sur 0.0f.

Voir également minDepth().

void QRhiViewport::setViewport(float x, float y, float w, float h)

Définit la position et la taille de la fenêtre d'affichage sur x, y, w et h.

Remarque : les fenêtres d'affichage sont définies dans un système de coordonnées dont l'origine se trouve en bas à gauche.

Voir également viewport().

std::array<float, 4> QRhiViewport::viewport() const

Renvoie les coordonnées x et y, ainsi que la largeur et la hauteur de la fenêtre d'affichage.

Voir aussi setViewport().

Éléments non membres associés

[noexcept] size_t qHash(const QRhiViewport &key, size_t seed = 0)

Renvoie la valeur de hachage de key, en utilisant seed comme graine pour le calcul.

[noexcept] bool operator!=(const QRhiViewport &a, const QRhiViewport &b)

Renvoie « false » si les valeurs des deux objets « QRhiViewport » a et b sont identiques ; sinon, renvoie « true ».

[noexcept] bool operator==(const QRhiViewport &a, const QRhiViewport &b)

Renvoie « true » si les valeurs contenues dans les deux objets « QRhiViewport » a et b sont identiques.

© 2026 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.