QRhiShadingRateMap Class
Un objet qui enveloppe une texture ou un autre type d'objet natif de l'API 3D. Plus d'informations...
| 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.9 |
| Hérite : | QRhiResource |
Types publics
(since 6.9) struct | NativeShadingRateMap |
Fonctions publiques
| virtual bool | createFrom(QRhiShadingRateMap::NativeShadingRateMap src) |
| virtual bool | createFrom(QRhiTexture *src) |
Fonctions publiques réimplémentées
| virtual QRhiResource::Type | resourceType() const override |
Description détaillée
Remarque : il s'agit d'une API RHI avec des garanties de compatibilité limitées, voir QRhi pour plus de détails.
Pour une introduction au Variable Rate Shading (VRS), voir https://learn.microsoft.com/en-us/windows/win32/direct3d12/vrs. Qt 3D prend en charge un sous-ensemble des fonctionnalités VRS offertes par Direct 3D 12 et Vulkan. En outre, le mécanisme quelque peu différent de Metal est pris en charge en permettant de configurer un QRhiShadingRateMap avec un objet MTLRasterizationRateMap existant.
Documentation des fonctions membres
[virtual] bool QRhiShadingRateMap::createFrom(QRhiShadingRateMap::NativeShadingRateMap src)
Configure la carte de taux d'ombrage pour utiliser un objet de taux d'ombrage de l'API 3D native src.
Renvoie true en cas de succès, false en cas de non prise en charge.
Note : Ceci n'est fonctionnel que lorsque la fonctionnalité QRhi::VariableRateShadingMap est signalée comme étant prise en charge, alors que la fonctionnalité QRhi::VariableShadingRateMapWithTexture ne l'est pas. Actuellement, c'est le cas pour Metal, en supposant que l'ombrage à taux variable est pris en charge par le GPU.
Remarque : avec Metal, le champ object de src doit contenir un id<MTLRasterizationRateMap>. Notez que Qt ne fait rien d'autre que de transmettre le MTLRasterizationRateMap au MTLRenderPassDescriptor. Si une mise à l'échelle spéciale est nécessaire, c'est à l'application (ou au compositeur XR) de l'effectuer.
[virtual] bool QRhiShadingRateMap::createFrom(QRhiTexture *src)
Configure la carte de taux d'ombrage pour utiliser la texture src comme image contenant les taux d'ombrage par carreau.
Renvoie true en cas de succès, false en cas d'échec.
QRhiShadingRateMap n'est pas propriétaire de src.
Remarque : cette fonction n'est opérationnelle que lorsque la fonctionnalité QRhi::VariableRateShadingMapWithTexture est signalée comme étant prise en charge. En pratique, elle peut être prise en charge par Vulkan et Direct 3D 12 lorsque des cartes graphiques modernes sont utilisées. Elle ne sera jamais prise en charge par OpenGL ou Metal, par exemple.
Remarque : src doit avoir un format de QRhiTexture::R8UI.
Note : src doit avoir une largeur de ceil(render_target_pixel_width / (float)tile_width) et une hauteur de ceil(render_target_pixel_height / (float)tile_height). Il appartient à l'application de s'assurer que la taille de la texture est conforme aux attentes, en utilisant la formule ci-dessus, à tout moment. La taille de la tuile peut être demandée via QRhi::resourceLimit() et QRhi::ShadingRateImageTileSize.
Chaque octet (texel) de la texture correspond à la valeur du taux d'ombrage pour une tuile. 0 indique 1x1, tandis qu'une valeur de 10 indique 4x4. Voir D3D12_SHADING_RATE pour les autres valeurs possibles.
[override virtual] QRhiResource::Type QRhiShadingRateMap::resourceType() const
Réimplémente : QRhiResource::resourceType() const.
Renvoie le type de ressource.
© 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.