QQuickRenderTarget Class
La classe QQuickRenderTarget fournit un conteneur opaque pour les ressources graphiques natives spécifiant une cible de rendu et les métadonnées associées. Plus d'informations...
| En-tête : | #include <QQuickRenderTarget> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Quick)target_link_libraries(mytarget PRIVATE Qt6::Quick) |
| qmake : | QT += quick |
| Depuis : | Qt 6.0 |
Types publics
Fonctions publiques
| QQuickRenderTarget() | |
| ~QQuickRenderTarget() | |
(since 6.8) QRhiTexture * | depthTexture() const |
(since 6.3) qreal | devicePixelRatio() const |
| bool | isNull() const |
(since 6.4) bool | mirrorVertically() const |
(since 6.8) void | setDepthTexture(QRhiTexture *texture) |
(since 6.3) void | setDevicePixelRatio(qreal ratio) |
(since 6.4) void | setMirrorVertically(bool enable) |
Membres publics statiques
(since 6.4) QQuickRenderTarget | fromD3D11Texture(void *texture, uint format, const QSize &pixelSize, int sampleCount = 1) |
| QQuickRenderTarget | fromD3D11Texture(void *texture, const QSize &pixelSize, int sampleCount = 1) |
(since 6.8) QQuickRenderTarget | fromD3D11Texture(void *texture, uint format, QSize pixelSize, int sampleCount, QQuickRenderTarget::Flags flags) |
(since 6.6) QQuickRenderTarget | fromD3D12Texture(void *texture, int resourceState, uint format, const QSize &pixelSize, int sampleCount = 1) |
(since 6.8) QQuickRenderTarget | fromD3D12Texture(void *texture, int resourceState, uint format, uint viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags) |
(since 6.4) QQuickRenderTarget | fromMetalTexture(MTLTexture *texture, uint format, const QSize &pixelSize, int sampleCount = 1) |
| QQuickRenderTarget | fromMetalTexture(MTLTexture *texture, const QSize &pixelSize, int sampleCount = 1) |
(since 6.8) QQuickRenderTarget | fromMetalTexture(MTLTexture *texture, uint format, uint viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags) |
(since 6.2) QQuickRenderTarget | fromOpenGLRenderBuffer(uint renderbufferId, const QSize &pixelSize, int sampleCount = 1) |
(since 6.4) QQuickRenderTarget | fromOpenGLTexture(uint textureId, uint format, const QSize &pixelSize, int sampleCount = 1) |
| QQuickRenderTarget | fromOpenGLTexture(uint textureId, const QSize &pixelSize, int sampleCount = 1) |
(since 6.8) QQuickRenderTarget | fromOpenGLTexture(uint textureId, uint format, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags) |
(since 6.4) QQuickRenderTarget | fromPaintDevice(QPaintDevice *device) |
(since 6.6) QQuickRenderTarget | fromRhiRenderTarget(QRhiRenderTarget *renderTarget) |
(since 6.4) QQuickRenderTarget | fromVulkanImage(VkImage image, VkImageLayout layout, VkFormat format, const QSize &pixelSize, int sampleCount = 1) |
| QQuickRenderTarget | fromVulkanImage(VkImage image, VkImageLayout layout, const QSize &pixelSize, int sampleCount = 1) |
(since 6.8) QQuickRenderTarget | fromVulkanImage(VkImage image, VkImageLayout layout, VkFormat format, VkFormat viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags) |
Non-membres associés
| bool | operator!=(const QQuickRenderTarget &a, const QQuickRenderTarget &b) |
| bool | operator==(const QQuickRenderTarget &a, const QQuickRenderTarget &b) |
Voir également QQuickWindow::setRenderTarget() et QQuickGraphicsDevice.
Type de membre Documentation
[since 6.8] enum class QQuickRenderTarget::Flag
flags QQuickRenderTarget::Flags
Drapeaux pour les fonctions statiques du constructeur de QQuickRenderTarget.
| Constante | Valeur | Description |
|---|---|---|
QQuickRenderTarget::Flag::MultisampleResolve | 0x01 | Indique que l'argument sampleCount n'est pas le nombre d'échantillons pour la texture fournie (et que la texture est toujours une texture sans multi-échantillon), mais plutôt les échantillons souhaités pour l'anticrénelage multi-échantillon. Déclenche la création et la gestion automatiques d'une texture multi-échantillon intermédiaire (ou d'un tableau de textures) en tant que tampon de couleur, de manière transparente pour l'application. Les échantillons sont résolus automatiquement dans la texture fournie à la fin de la passe de rendu. Lorsque cet indicateur n'est pas activé et que l'argument sampleCount est supérieur à 1, cela signifie que la texture fournie est multi-échantillonnée. L'indicateur n'a aucun effet si l'argument sampleCount vaut 1 (ce qui indique que le multi-échantillonnage n'est pas impliqué). |
Cette liste a été introduite dans Qt 6.8.
Le type Flags est un typedef pour QFlags<Flag>. Il stocke une combinaison OU de valeurs de drapeaux.
Documentation des fonctions membres
QQuickRenderTarget::QQuickRenderTarget()
Construit une cible QQuickRenderTarget par défaut qui ne fait référence à aucun objet natif.
[noexcept] QQuickRenderTarget::~QQuickRenderTarget()
Destructeur.
[since 6.8] QRhiTexture *QQuickRenderTarget::depthTexture() const
Renvoie la texture de profondeur actuellement définie ou, dans la plupart des cas, nullptr.
La valeur n'est pas nulle uniquement lorsque setDepthTexture() a été appelé.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi setDepthTexture().
[since 6.3] qreal QQuickRenderTarget::devicePixelRatio() const
Renvoie le ratio de pixels du périphérique pour la cible de rendu. Il s'agit du rapport entre les pixels du périphérique et les pixels indépendants du périphérique.
Le rapport par défaut est de 1,0.
Cette fonction a été introduite dans Qt 6.3.
Voir aussi setDevicePixelRatio().
[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromD3D11Texture(void *texture, uint format, const QSize &pixelSize, int sampleCount = 1)
Renvoie un nouveau QQuickRenderTarget référençant un objet de texture D3D11 spécifié par texture.
format spécifie le format DXGI_FORMAT de la texture. Seuls les formats de texture pris en charge par l'infrastructure de rendu de Qt doivent être utilisés.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il est de la responsabilité de l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Cette fonction a été introduite dans Qt 6.4.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static] QQuickRenderTarget QQuickRenderTarget::fromD3D11Texture(void *texture, const QSize &pixelSize, int sampleCount = 1)
Renvoie un nouveau QQuickRenderTarget référençant un objet de texture D3D11 spécifié par texture. Le format de la texture est supposé être DXGI_FORMAT_R8G8B8A8_UNORM.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Il s'agit d'une fonction surchargée.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromD3D11Texture(void *texture, uint format, QSize pixelSize, int sampleCount, QQuickRenderTarget::Flags flags)
Renvoie un nouveau QQuickRenderTarget référençant un objet de texture D3D11 spécifié par texture.
format spécifie le format DXGI_FORMAT de la texture. Seuls les formats de texture pris en charge par l'infrastructure de rendu de Qt doivent être utilisés.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée, sauf si flags contient MultisampleResolve. Dans ce cas, texture est supposé être une texture 2D sans multi-échantillonnage et sampleCount définit le nombre d'échantillons souhaité. Le résultat QQuickRenderTarget utilisera une texture multi-échantillon intermédiaire, créée automatiquement, comme attachement de couleur, et résoudra les échantillons en texture. C'est l'approche recommandée pour effectuer le MSAA lorsque la texture native n'est pas déjà multi-échantillonnée.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement. Lorsque le tampon de couleur est multisample, le tampon de profondeur sera automatiquement multisample aussi.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi QQuickWindow::setRenderTarget(), QQuickRenderControl, et fromD3D11Texture().
[static, since 6.6] QQuickRenderTarget QQuickRenderTarget::fromD3D12Texture(void *texture, int resourceState, uint format, const QSize &pixelSize, int sampleCount = 1)
Renvoie une nouvelle adresse QQuickRenderTarget référençant un objet de texture D3D12 spécifié par texture.
resourceState doit être un masque de bits valide avec des bits de D3D12_RESOURCE_STATES, spécifiant l'état actuel de la ressource.
format spécifie le format DXGI_FORMAT de la texture. Seuls les formats de texture pris en charge par l'infrastructure de rendu de Qt doivent être utilisés.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il est de la responsabilité de l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Cette fonction a été introduite dans Qt 6.6.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromD3D12Texture(void *texture, int resourceState, uint format, uint viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)
Renvoie une nouvelle adresse QQuickRenderTarget référençant une texture 2D D3D12 ou un objet de tableau de textures 2D spécifié par texture.
resourceState doit être un masque de bits valide avec des bits de D3D12_RESOURCE_STATES, spécifiant l'état actuel de la ressource.
format spécifie le format DXGI_FORMAT de la texture. Seuls les formats de texture pris en charge par l'infrastructure de rendu de Qt doivent être utilisés.
viewFormat est le format DXGI_FORMAT utilisé pour la vue cible de rendu (RTV). Souvent identique à format. Fonctionnel uniquement lorsque le pilote prend en charge le format relaxed casting, l'argument est ignoré dans le cas contraire. En pratique, la prise en charge devrait toujours être disponible sur Windows 10 1703 et les versions plus récentes.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D et les tableaux de textures 2D sont pris en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée, sauf si flags contient MultisampleResolve. Dans ce cas, texture est supposé être une texture 2D non multi-échantillonnée ou un tableau de textures 2D, et sampleCount définit le nombre d'échantillons souhaité. Le site QQuickRenderTarget qui en résulte utilisera une texture multi-échantillons (ou un tableau de textures) intermédiaire, créée automatiquement, comme attachement de couleur, et résoudra les échantillons en texture. C'est l'approche recommandée pour effectuer le MSAA lorsque la texture native D3D12 n'est pas déjà multi-échantillonnée.
Le nombre d'éléments du tableau (couches) est indiqué à l'adresse arraySize. Lorsqu'il est supérieur à 1, il implique un rendu multivues(instanciation de vues), ce qui peut être pertinent avec la RV/AR en particulier. arraySize est le nombre de vues, généralement 2. Voir QSGMaterial::viewCount() pour plus de détails sur l'activation du rendu multi-vues dans le graphe de scène Qt Quick.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement. Lorsque le tampon de couleur est multi-échantillonné, le tampon de profondeur est également multi-échantillonné. Pour le rendu multivues, la texture du crayon de profondeur sera automatiquement transformée en tableau avec une correspondance arraySize.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromMetalTexture(MTLTexture *texture, uint format, const QSize &pixelSize, int sampleCount = 1)
Renvoie un nouveau QQuickRenderTarget faisant référence à un objet de texture Metal spécifié par texture.
format spécifie le MTLPixelFormat de la texture. Seuls les formats de texture pris en charge par l'infrastructure de rendu de Qt doivent être utilisés.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il est de la responsabilité de l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Cette fonction a été introduite dans Qt 6.4.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static] QQuickRenderTarget QQuickRenderTarget::fromMetalTexture(MTLTexture *texture, const QSize &pixelSize, int sampleCount = 1)
Renvoie une nouvelle adresse QQuickRenderTarget faisant référence à un objet de texture Metal spécifié par texture. La texture est supposée avoir un format MTLPixelFormatRGBA8Unorm.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Il s'agit d'une fonction surchargée.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromMetalTexture(MTLTexture *texture, uint format, uint viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)
Retourne un nouveau QQuickRenderTarget référençant une texture 2D Metal ou un tableau de textures 2D donné dans texture.
format spécifie le MTLPixelFormat de la texture. Seuls les formats de texture supportés par l'infrastructure de rendu de Qt doivent être utilisés.
viewFormat est généralement fixé à la même valeur que format. Dans certains cas, comme lors du rendu dans une texture avec un format _SRGB et la conversion implicite linéaire->sRGB lors de l'écriture des shaders n'est pas souhaitée, la valeur peut être différente. Notez cependant que la valeur peut être ignorée par Qt XML, lorsque QRhi signale que la fonctionnalité QRhi::TextureViewFormat n'est pas prise en charge.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D et les tableaux de textures 2D sont pris en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée, sauf si flags contient MultisampleResolve. Dans ce cas, texture est supposé être une texture 2D non multi-échantillonnée ou un tableau de textures 2D, et sampleCount définit le nombre d'échantillons souhaité. Le site QQuickRenderTarget qui en résulte utilisera une texture multi-échantillons (ou un tableau de textures) intermédiaire, créée automatiquement, comme attachement de couleur, et résoudra les échantillons en texture. C'est l'approche recommandée pour effectuer le MSAA lorsque la texture native du métal n'est pas déjà multi-échantillonnée.
Le nombre d'éléments du tableau (couches) est indiqué dans arraySize. Lorsqu'il est supérieur à 1, il implique un rendu multi-vues, ce qui peut être pertinent avec la RV/AR en particulier. arraySize est le nombre de vues, typiquement 2. Voir QSGMaterial::viewCount() pour plus de détails sur l'activation du rendu multi-vues dans le graphe de scène Qt Quick.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement. Lorsque le tampon de couleur est multi-échantillonné, le tampon de profondeur est également multi-échantillonné. Pour le rendu multivues, la texture du crayon de profondeur sera automatiquement transformée en tableau avec une correspondance arraySize.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.2] QQuickRenderTarget QQuickRenderTarget::fromOpenGLRenderBuffer(uint renderbufferId, const QSize &pixelSize, int sampleCount = 1)
Renvoie une nouvelle adresse QQuickRenderTarget faisant référence à un objet de tampon de rendu OpenGL spécifié par renderbufferId.
Le tampon de rendu sera utilisé comme attachement de couleur pour l'objet framebuffer interne. Cette fonction est fournie pour permettre de cibler les tampons de rendu qui sont créés par l'application avec un tampon externe, tel qu'un EGLImageKHR. Une fois que l'application a appelé glEGLImageTargetRenderbufferStorageOES, le tampon de rendu peut être transmis à cette fonction.
pixelSize spécifie la taille de l'image, en pixels.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est un tampon de rendu multi-échantillon.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées à la taille et au nombre d'échantillons. Il est de la responsabilité de l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Cette fonction a été introduite dans Qt 6.2.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromOpenGLTexture(uint textureId, uint format, const QSize &pixelSize, int sampleCount = 1)
Renvoie un nouveau QQuickRenderTarget référençant un objet de texture OpenGL spécifié par textureId.
format spécifie le format interne natif de la texture. Seuls les formats de texture pris en charge par l'infrastructure de rendu de Qt doivent être utilisés.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement.
Le nom de l'objet OpenGL textureId doit être un nom valide dans le contexte de rendu utilisé par la scène Qt Quick.
Remarque : le fichier QQuickRenderTarget qui en résulte ne possède aucune ressource native, il contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il est de la responsabilité de l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Cette fonction a été introduite dans Qt 6.4.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static] QQuickRenderTarget QQuickRenderTarget::fromOpenGLTexture(uint textureId, const QSize &pixelSize, int sampleCount = 1)
Renvoie un nouveau QQuickRenderTarget référençant un objet texture OpenGL spécifié par textureId. La texture est supposée avoir un format GL_RGBA (GL_RGBA8).
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement.
Le nom de l'objet OpenGL textureId doit être un nom valide dans le contexte de rendu utilisé par la scène Qt Quick.
Remarque : le fichier QQuickRenderTarget qui en résulte ne possède aucune ressource native, il contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Il s'agit d'une fonction surchargée.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromOpenGLTexture(uint textureId, uint format, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)
Renvoie un nouveau QQuickRenderTarget référençant une texture 2D OpenGL ou un objet de tableau de textures spécifié par textureId.
format spécifie le format interne natif de la texture. Seuls les formats de texture pris en charge par l'infrastructure de rendu de Qt doivent être utilisés.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D et les tableaux de textures 2D sont pris en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée, sauf si flags contient MultisampleResolve. Dans ce cas, textureId est supposé être une texture 2D non multi-échantillonnée ou un tableau de textures 2D, et sampleCount définit le nombre d'échantillons souhaité. Le site QQuickRenderTarget qui en résulte utilisera une texture multi-échantillons (ou un tableau de textures) intermédiaire, créée automatiquement, comme attachement de couleur, et résoudra les échantillons en textureId. C'est l'approche recommandée pour effectuer le MSAA lorsque la texture OpenGL native n'est pas déjà multi-échantillonnée.
Lorsque arraySize est supérieur à 1, cela implique un rendu multi-vues(GL_OVR_multiview, QRhiColorAttachment::setMultiViewCount()), ce qui peut être pertinent avec la RV/AR en particulier. Dans ce cas, arraySize est le nombre de vues, généralement 2. Voir QSGMaterial::viewCount() pour plus de détails sur l'activation du rendu multi-vues dans le graphe de scène Qt Quick.
Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement. Lorsque le tampon de couleur est multi-échantillonné, le tampon de profondeur est également multi-échantillonné. Pour le rendu multivues, la texture du crayon de profondeur sera automatiquement transformée en tableau avec une correspondance arraySize.
Le nom d'objet OpenGL textureId doit être un nom de texture 2D valide dans le contexte de rendu utilisé par le graphe de scène Qt Quick. Lorsque arraySize est supérieur à 1, textureId doit être un nom de tableau de textures 2D valide.
Note : le résultat QQuickRenderTarget ne possède aucune ressource native, il contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Note : L'implémentation de cette surcharge n'est pas compatible avec OpenGL ES 2.0 ou 3.0, et requiert OpenGL ES 3.1 au minimum. (ou OpenGL 3.0 sur les ordinateurs de bureau)
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi QQuickWindow::setRenderTarget(), QQuickRenderControl, et fromOpenGLTexture().
[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromPaintDevice(QPaintDevice *device)
Renvoie un nouveau QQuickRenderTarget faisant référence à un objet de dispositif de peinture spécifié par device.
Cette option de redirection du rendu vers un QPaintDevice n'est disponible que si elle est exécutée avec le backend software de Qt Quick.
Remarque : QQuickRenderTarget ne prend pas la responsabilité de device, il est de la responsabilité de l'appelant de s'assurer que l'objet existe aussi longtemps que nécessaire.
Cette fonction a été introduite dans Qt 6.4.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.6] QQuickRenderTarget QQuickRenderTarget::fromRhiRenderTarget(QRhiRenderTarget *renderTarget)
Renvoie un nouveau QQuickRenderTarget faisant référence à un renderTarget existant.
renderTarget Dans la plupart des cas, ce sera un QRhiTextureRenderTarget, ce qui permet de diriger le rendu de la scène Qt Quick vers un QRhiTexture.
Note : le résultat QQuickRenderTarget ne possède pas renderTarget et les ressources natives sous-jacentes, il contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que les ressources référencées existent aussi longtemps que nécessaire.
Cette fonction a été introduite dans Qt 6.6.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromVulkanImage(VkImage image, VkImageLayout layout, VkFormat format, const QSize &pixelSize, int sampleCount = 1)
Renvoie un nouveau QQuickRenderTarget faisant référence à un objet image Vulkan spécifié par image. L'adresse layout actuelle de l'image doit également être fournie.
format spécifie le VkFormat de l'image. Seuls les formats d'image pris en charge par l'infrastructure de rendu de Qt doivent être utilisés.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée.
L'image est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il est de la responsabilité de l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Cette fonction a été introduite dans Qt 6.4.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static] QQuickRenderTarget QQuickRenderTarget::fromVulkanImage(VkImage image, VkImageLayout layout, const QSize &pixelSize, int sampleCount = 1)
Renvoie un nouveau QQuickRenderTarget référençant un objet image Vulkan spécifié par image. L'image est supposée avoir un format VK_FORMAT_R8G8B8A8_UNORM.
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Il s'agit d'une fonction surchargée.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromVulkanImage(VkImage image, VkImageLayout layout, VkFormat format, VkFormat viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)
Renvoie un nouveau QQuickRenderTarget faisant référence à un objet image Vulkan spécifié par image. L'adresse layout actuelle de l'image doit également être fournie. L'image doit être une texture 2D ou un tableau de textures 2D.
format spécifie le VkFormat de l'image. Seuls les formats d'image pris en charge par l'infrastructure de rendu de Qt doivent être utilisés.
viewFormat est généralement fixé à la même valeur que format. Dans certains cas, par exemple lors du rendu d'une texture au format _SRGB et si la conversion implicite linéaire->sRGB lors de l'écriture des shaders n'est pas souhaitée, la valeur peut être différente. (par exemple, un format de VK_FORMAT_R8G8B8A8_SRGB et un viewFormat de VK_FORMAT_R8G8B8A8_UNORM).
pixelSize spécifie la taille de l'image, en pixels. Actuellement, seules les textures 2D sont prises en charge.
sampleCount spécifie le nombre d'échantillons. 0 ou 1 signifie qu'il n'y a pas de multi-échantillonnage, tandis qu'une valeur comme 4 ou 8 indique que l'objet natif est une texture multi-échantillonnée, sauf si flags contient MultisampleResolve. Dans ce cas, image est supposé être une texture 2D non multi-échantillonnée ou un tableau de textures 2D, et sampleCount définit le nombre d'échantillons souhaité. Le site QQuickRenderTarget qui en résulte utilisera une texture multi-échantillons (ou un tableau de textures) intermédiaire, créée automatiquement, comme attachement de couleur, et résoudra les échantillons en image. Il s'agit de l'approche recommandée pour effectuer le MSAA lorsque l'image Vulkan native n'est pas déjà multi-échantillonnée.
Le nombre d'éléments du tableau (couches) est indiqué à l'adresse arraySize. Lorsqu'il est supérieur à 1, il implique un rendu multivues(VK_KHR_multiview), qui peut être pertinent avec la RV/AR en particulier. arraySize est le nombre de vues, généralement 2. Voir QSGMaterial::viewCount() pour plus de détails sur l'activation du rendu multi-vues dans le graphe de scène Qt Quick.
La texture est utilisée comme premier attachement de couleur de la cible de rendu utilisée par le graphe de scène Qt Quick. Un tampon de profondeur, le cas échéant, est créé et utilisé automatiquement. Lorsque le tampon de couleur est multi-échantillonné, le tampon de profondeur est également multi-échantillonné. Pour le rendu multivues, la texture du crayon de profondeur sera automatiquement transformée en tableau avec une correspondance arraySize.
Remarque : la page QQuickRenderTarget qui en résulte ne possède aucune ressource native, elle contient simplement des références et les métadonnées associées de la taille et du nombre d'échantillons. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi QQuickWindow::setRenderTarget() et QQuickRenderControl.
bool QQuickRenderTarget::isNull() const
Retourne true si cette QQuickRenderTarget est construite par défaut, ne référençant aucun objet natif.
[since 6.4] bool QQuickRenderTarget::mirrorVertically() const
Returns Indique si la cible de rendu est reflétée verticalement.
La valeur par défaut est false.
Cette fonction a été introduite dans Qt 6.4.
Voir aussi setMirrorVertically().
[since 6.8] void QQuickRenderTarget::setDepthTexture(QRhiTexture *texture)
Demande d'utiliser le site texture comme tampon de profondeur ou de profondeur-stencil. La propriété de texture n'est pas prise en compte.
La demande n'est prise en compte que si elle est pertinente. Par exemple, l'appel à cette fonction n'a aucun effet sur fromRhiRenderTarget(), fromPaintDevice() ou fromOpenGLRenderBuffer().
Normalement, un tampon profondeur-stencil est créé automatiquement, de manière transparente pour l'utilisateur de QQuickRenderTarget. Par conséquent, il n'est pas nécessaire d'appeler cette fonction dans la plupart des cas lorsque l'on travaille avec QQuickRenderTarget. Dans des circonstances particulières, il peut toutefois s'avérer essentiel de pouvoir fournir une texture dans laquelle rendre les données de profondeur (ou de profondeur et de stencil), au lieu de laisser Qt Quick créer ses propres textures ou tampons intermédiaires. OpenXR et ses extensions telles que XR_KHR_composition_layer_depth en sont un exemple. Afin de "soumettre le tampon de profondeur" au compositeur XR, il faut, en pratique, récupérer une texture de profondeur (profondeur-stencil) déjà créée dans OpenXR (à partir de la chaîne XrSwap) et utiliser cette texture comme cible de rendu pour les données de profondeur. Cela ne serait pas possible sans cette fonction.
Note : Le site texture est toujours censé être une texture 2D sans multi-échantillon ou un tableau de textures (pour le multiview). Si MSAA est impliqué, les échantillons sont résolus en texture à la fin de la passe de rendu, que le drapeau MultisampleResolve soit activé ou non. Le MSAA n'est pris en charge pour les textures de profondeur (depth-stencil) que si l'API 3D sous-jacente le prend en charge, et cette prise en charge n'est pas universellement disponible. Voir the relevant QRhi feature flag pour plus de détails. Lorsque cela n'est pas supporté et que le multi-échantillonnage est demandé en combinaison avec une texture de profondeur personnalisée, texture ne sera pas touché pendant le rendu et un avertissement sera imprimé.
Remarque : en ce qui concerne OpenGL et OpenGL ES, l'utilisation de textures de profondeur n'est pas fonctionnelle avec OpenGL ES 2.0 et nécessite au moins OpenGL ES 3.0. Le support du multi-échantillon (MSAA) n'est pas disponible sans au moins OpenGL ES 3.1, ou OpenGL 3.0 sur les ordinateurs de bureau.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi depthTexture().
[since 6.3] void QQuickRenderTarget::setDevicePixelRatio(qreal ratio)
Définit le rapport des pixels du périphérique pour cette cible de rendu à ratio. Il s'agit du rapport entre les pixels du périphérique et les pixels indépendants du périphérique.
Notez que la valeur spécifiée pour le rapport de pixels du périphérique sera ignorée si QQuickRenderControl::renderWindow() est réimplémenté pour renvoyer une valeur valide QWindow.
Cette fonction a été introduite dans Qt 6.3.
Voir aussi devicePixelRatio().
[since 6.4] void QQuickRenderTarget::setMirrorVertically(bool enable)
Définit la taille du contenu de la cible de rendu qui doit être reflétée verticalement sur enable lors du dessin. Cela permet d'intégrer facilement un code de rendu tiers qui ne suit pas les attentes standard.
Remarque : cette fonction ne doit pas être utilisée lorsque l'on utilise le backend software.
Cette fonction a été introduite dans Qt 6.4.
Voir aussi mirrorVertically().
Non-membres associés
[noexcept] bool operator!=(const QQuickRenderTarget &a, const QQuickRenderTarget &b)
Retourne vrai si a et b font référence à un ensemble différent d'objets natifs, ou si les données associées (taille, nombre d'échantillons) ne correspondent pas.
[noexcept] bool operator==(const QQuickRenderTarget &a, const QQuickRenderTarget &b)
Retourne vrai si a et b font référence au même ensemble d'objets natifs et ont des données associées correspondantes (taille, nombre d'échantillons).
© 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.