QRhiShadingRateMap Class
Un objeto que envuelve una textura u otro tipo de objeto nativo de la API 3D. Más...
| Cabecera: | #include <rhi/qrhi.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate) |
| qmake: | QT += gui-private |
| Desde: | Qt 6.9 |
| Hereda: | QRhiResource |
Tipos Públicos
(since 6.9) struct | NativeShadingRateMap |
Funciones Públicas
| virtual bool | createFrom(QRhiShadingRateMap::NativeShadingRateMap src) |
| virtual bool | createFrom(QRhiTexture *src) |
Funciones Públicas Reimplementadas
| virtual QRhiResource::Type | resourceType() const override |
Descripción detallada
Nota: Se trata de una API RHI con garantías de compatibilidad limitadas; consulte QRhi para obtener más información.
Para una introducción a Variable Rate Shading (VRS), ver https://learn.microsoft.com/en-us/windows/win32/direct3d12/vrs. Qt soporta un subconjunto de las características VRS ofrecidas por Direct 3D 12 y Vulkan. Además, el mecanismo algo diferente de Metal es soportado haciendo posible configurar un QRhiShadingRateMap con un objeto MTLRasterizationRateMap existente.
Documentación de las funciones miembro
[virtual] bool QRhiShadingRateMap::createFrom(QRhiShadingRateMap::NativeShadingRateMap src)
Configura el mapa de tasa de sombreado para utilizar un objeto de tasa de sombreado nativo de la API 3D src.
Devuelve true en caso de éxito, false en caso contrario.
Nota: Esto es funcional sólo cuando la característica QRhi::VariableRateShadingMap es reportada como soportada, mientras que la característica QRhi::VariableShadingRateMapWithTexture no lo es. Actualmente esto es cierto para Metal, asumiendo que el sombreado de tasa variable es soportado por la GPU.
Nota: Con Metal, se espera que el campo object de src contenga un id<MTLRasterizationRateMap>. Ten en cuenta que Qt no hace nada más aparte de pasar el MTLRasterizationRateMap al MTLRenderPassDescriptor. Si se requiere algún escalado especial, es la aplicación (o el compositor XR) quien debe realizarlo.
[virtual] bool QRhiShadingRateMap::createFrom(QRhiTexture *src)
Configura el mapa de tasa de sombreado para usar la textura src como la imagen que contiene las tasas de sombreado por azulejo.
Devuelve true cuando tiene éxito, false cuando no es compatible.
QRhiShadingRateMap no se apropia de src.
Nota: Esto es funcional sólo cuando la característica QRhi::VariableRateShadingMapWithTexture es reportada como soportada. En la práctica puede ser soportado en Vulkan y Direct 3D 12 cuando se utilizan tarjetas gráficas modernas. Nunca será compatible con OpenGL o Metal, por ejemplo.
Nota: src debe tener un formato de QRhiTexture::R8UI.
Nota: src debe tener una anchura de ceil(render_target_pixel_width / (float)tile_width) y una altura de ceil(render_target_pixel_height / (float)tile_height). Depende de la aplicación asegurarse de que el tamaño de la textura es el esperado, utilizando la fórmula anterior, en todo momento. El tamaño del mosaico puede consultarse a través de QRhi::resourceLimit() y QRhi::ShadingRateImageTileSize.
Cada byte (texel) de la textura corresponde al valor de la tasa de sombreado de un mosaico. 0 indica 1x1, mientras que un valor de 10 indica 4x4. Ver D3D12_SHADING_RATE para otros valores posibles.
[override virtual] QRhiResource::Type QRhiShadingRateMap::resourceType() const
Reimplementa: QRhiResource::resourceType() const.
Devuelve el tipo de recurso.
© 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.