QRhiShadingRateMap Class
Ein Objekt, das eine Textur oder ein anderes natives 3D-API-Objekt umschließt. Mehr...
| Header: | #include <rhi/qrhi.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS GuiPrivate) target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate) |
| qmake: | QT += gui-private |
| Seit: | Qt 6.9 |
| Erbt von: | QRhiResource |
Öffentliche Typen
(since 6.9) struct | NativeShadingRateMap |
Öffentliche Funktionen
| virtual bool | createFrom(QRhiShadingRateMap::NativeShadingRateMap src) |
| virtual bool | createFrom(QRhiTexture *src) |
Neu implementierte öffentliche Funktionen
| virtual QRhiResource::Type | resourceType() const override |
Ausführliche Beschreibung
Hinweis: Dies ist eine RHI-API mit eingeschränkten Kompatibilitätsgarantien. Weitere Informationen finden Sie unter QRhi.
Eine Einführung in Variable Rate Shading (VRS) finden Sie unter https://learn.microsoft.com/en-us/windows/win32/direct3d12/vrs. Qt unterstützt einen Teil der VRS-Funktionen, die von Direct 3D 12 und Vulkan angeboten werden. Darüber hinaus wird der etwas abweichende Mechanismus von Metal unterstützt, indem die Einrichtung einer `QRhiShadingRateMap` mit einem vorhandenen `MTLRasterizationRateMap`-Objekt ermöglicht wird.
Dokumentation zu den Member-Funktionen
[virtual] bool QRhiShadingRateMap::createFrom(QRhiShadingRateMap::NativeShadingRateMap src)
Richtet die Shading-Rate-Map so ein, dass ein natives Shading-Rate-Objekt der 3D-API verwendet wird: src.
Gibt bei Erfolg „ true “ zurück, andernfalls „ false “, wenn die Funktion nicht unterstützt wird.
Hinweis: Dies funktioniert nur, wenn die Funktion „ QRhi::VariableRateShadingMap “ als unterstützt gemeldet wird, während die Funktion „ QRhi::VariableRateShadingMapWithTexture “ nicht unterstützt wird. Derzeit trifft dies auf Metal zu, vorausgesetzt, dass Variable-Rate-Shading von der GPU unterstützt wird.
Hinweis: Bei Metal wird erwartet, dass das Feld „ object “ von „ src “ eine ID vom Typ „MTLRasterizationRateMap“ enthält. Beachten Sie, dass Qt nichts weiter tut, als die „MTLRasterizationRateMap“ an den „MTLRenderPassDescriptor“ weiterzuleiten. Falls eine spezielle Skalierung erforderlich ist, obliegt es der Anwendung (oder dem XR-Compositor), diese durchzuführen.
[virtual] bool QRhiShadingRateMap::createFrom(QRhiTexture *src)
Richtet die Shading-Rate-Map so ein, dass die Textur „ src “ als Bild mit den Shading-Raten pro Kachel verwendet wird.
Gibt bei Erfolg „ true “ zurück, andernfalls „ false “, wenn dies nicht unterstützt wird.
Die „ QRhiShadingRateMap “ übernimmt nicht die Eigentumsrechte an „ src “.
Hinweis: Diese Funktion ist nur verfügbar, wenn die Funktion „ QRhi::VariableRateShadingMapWithTexture “ als unterstützt gemeldet wird. In der Praxis wird sie möglicherweise unter Vulkan und Direct 3D 12 bei Verwendung moderner Grafikkarten unterstützt. Unter OpenGL oder Metal wird sie beispielsweise niemals unterstützt.
Hinweis: „ src “ muss das Format „ QRhiTexture::R8UI “ haben.
Hinweis: „ src “ muss eine Breite von „ ceil(render_target_pixel_width / (float)tile_width) “ und eine Höhe von „ ceil(render_target_pixel_height / (float)tile_height) “ haben. Es obliegt der Anwendung, stets sicherzustellen, dass die Größe der Textur gemäß der obigen Formel den Erwartungen entspricht. Die Kachelgröße kann über „ QRhi::resourceLimit()“ und „ QRhi::ShadingRateImageTileSize “ abgefragt werden.
Jedes Byte (Texel) in der Textur entspricht dem Shading-Rate-Wert für eine Kachel. 0 steht für 1x1, während ein Wert von 10 für 4x4 steht. Weitere mögliche Werte finden Sie unter D3D12_SHADING_RATE.
[override virtual] QRhiResource::Type QRhiShadingRateMap::resourceType() const
Implementiert neu: ` QRhiResource::resourceType()` const.
Gibt den Ressourcentyp zurück.
© 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.