QRhiShadingRateMap Class

Ein Objekt, das eine Textur oder eine andere Art von nativem 3D-API-Objekt umhüllt. Mehr...

Kopfzeile: #include <rhi/qrhi.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
qmake: QT += gui-private
Seit: Qt 6.9
Vererbt: QRhiResource

Öffentliche Typen

(since 6.9) struct NativeShadingRateMap

Öffentliche Funktionen

virtual bool createFrom(QRhiShadingRateMap::NativeShadingRateMap src)
virtual bool createFrom(QRhiTexture *src)

Reimplementierte öffentliche Funktionen

virtual QRhiResource::Type resourceType() const override

Detaillierte Beschreibung

Hinweis: Dies ist eine RHI-API mit begrenzten Kompatibilitätsgarantien, siehe QRhi für Details.

Für eine Einführung in Variable Rate Shading (VRS) siehe https://learn.microsoft.com/en-us/windows/win32/direct3d12/vrs. Qt unterstützt eine Teilmenge der VRS-Funktionen, die von Direct 3D 12 und Vulkan angeboten werden. Darüber hinaus wird der etwas andere Mechanismus von Metal unterstützt, indem es möglich ist, eine QRhiShadingRateMap mit einem vorhandenen MTLRasterizationRateMap-Objekt einzurichten.

Dokumentation der Mitgliedsfunktionen

[virtual] bool QRhiShadingRateMap::createFrom(QRhiShadingRateMap::NativeShadingRateMap src)

Richtet die Shading-Rate-Map ein, um ein natives 3D-API-Shading-Rate-Objekt src zu verwenden.

Gibt bei Erfolg true zurück, bei Nichtunterstützung false.

Hinweis: Dies funktioniert nur, wenn die Funktion QRhi::VariableRateShadingMap als unterstützt gemeldet wird, während die Funktion QRhi::VariableShadingRateMapWithTexture nicht unterstützt wird. Derzeit ist dies für Metal der Fall, vorausgesetzt, Variable Rate Shading wird von der GPU unterstützt.

Hinweis: Bei Metal wird erwartet, dass das Feld object von src eine id<MTLRasterizationRateMap> enthält. Beachten Sie, dass Qt nichts anderes tut, als die MTLRasterizationRateMap an den MTLRenderPassDescriptor weiterzugeben. Wenn eine spezielle Skalierung erforderlich ist, liegt es an der Anwendung (oder dem XR Compositor), diese durchzuführen.

[virtual] bool QRhiShadingRateMap::createFrom(QRhiTexture *src)

Richtet die Schattierungsratenkarte so ein, dass die Textur src als Bild mit den Schattierungsraten pro Kachel verwendet wird.

Gibt bei Erfolg true zurück, bei Nichtunterstützung false.

QRhiShadingRateMap übernimmt nicht den Besitz von src.

Hinweis: Dies funktioniert nur, wenn die Funktion QRhi::VariableRateShadingMapWithTexture als unterstützt gemeldet wird. In der Praxis kann es auf Vulkan und Direct 3D 12 unterstützt werden, wenn moderne Grafikkarten verwendet werden. Es wird beispielsweise niemals von OpenGL oder Metal unterstützt werden.

Hinweis: src muss ein Format von 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 liegt an der Anwendung, sicherzustellen, dass die Größe der Textur jederzeit den Erwartungen entspricht, indem sie die obige Formel verwendet. 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. Siehe D3D12_SHADING_RATE für andere mögliche Werte.

[override virtual] QRhiResource::Type QRhiShadingRateMap::resourceType() const

Reimplements: QRhiResource::resourceType() const.

Gibt den Ressourcentyp zurück.

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