QRhiShadingRateMap Class
텍스처 또는 다른 종류의 네이티브 3D API 오브젝트를 래핑하는 오브젝트입니다. 더 보기...
Header: | #include <rhi/qrhi.h> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate) |
qmake: | QT += gui-private |
이후: | Qt 6.9 |
상속합니다: | QRhiResource |
공용 형
(since 6.9) struct | NativeShadingRateMap |
공용 함수
virtual bool | createFrom(QRhiShadingRateMap::NativeShadingRateMap src) |
virtual bool | createFrom(QRhiTexture *src) |
재구현된 공용 함수
virtual QRhiResource::Type | resourceType() const override |
상세 설명
참고: 호환성이 제한적으로 보장되는 RHI API이며, 자세한 내용은 QRhi 을 참조하세요.
가변 비율 셰이딩(VRS)에 대한 소개는 https://learn.microsoft.com/en-us/windows/win32/direct3d12/vrs 을 참조하십시오 . Qt는 Direct 3D 12와 Vulkan에서 제공하는 VRS 기능의 일부를 지원합니다. 또한 기존 MTLRasterizationRateMap 객체로 QRhiShadingRateMap을 설정할 수 있도록 함으로써 Metal의 다소 다른 메커니즘이 지원됩니다.
멤버 함수 문서
[virtual]
bool QRhiShadingRateMap::createFrom(QRhiShadingRateMap::NativeShadingRateMap src)
네이티브 3D API 셰이딩 비율 객체를 사용하도록 셰이딩 비율 맵을 설정합니다 src.
성공하면 true
, 지원되지 않으면 false
을 반환합니다.
참고: 이 함수는 QRhi::VariableRateShadingMap 기능이 지원되는 것으로 보고된 경우에만 작동하며, QRhi::VariableShadingRateMapWithTexture 기능은 지원되지 않습니다. 현재 GPU에서 가변 비율 셰이딩을 지원한다고 가정할 때 Metal에 해당됩니다.
참고: Metal의 경우 src 의 object
필드에 id<MTLRasterizationRateMap>이 포함될 것으로 예상됩니다. Qt는 MTLRasterizationRateMap 을 MTLRenderPassDescriptor 에 전달하는 것 외에는 다른 작업을 수행하지 않는다는 점에 유의하세요. 특별한 스케일링이 필요한 경우, 이를 수행하는 것은 애플리케이션(또는 XR 컴포저)의 몫입니다.
[virtual]
bool QRhiShadingRateMap::createFrom(QRhiTexture *src)
타일별 음영률이 포함된 이미지로 src 텍스처를 사용하도록 음영률 맵을 설정합니다.
성공하면 true
, 지원되지 않으면 false
을 반환합니다.
QRhiShadingRateMap 은 src 의 소유권을 갖지 않습니다.
참고: 이 기능은 QRhi::VariableRateShadingMapWithTexture 기능이 지원되는 것으로 보고된 경우에만 작동합니다. 실제로는 최신 그래픽 카드를 사용할 때 Vulkan 및 Direct 3D 12에서 지원될 수 있습니다. 예를 들어 OpenGL 또는 Metal에서는 지원되지 않습니다.
참고: src 의 형식은 QRhiTexture::R8UI 이어야 합니다.
참고: src 의 너비는 ceil(render_target_pixel_width / (float)tile_width)
, 높이는 ceil(render_target_pixel_height / (float)tile_height)
여야 합니다. 텍스처의 크기가 항상 위의 공식을 사용하여 예상대로 유지되도록 하는 것은 애플리케이션의 책임입니다. 타일 크기는 QRhi::resourceLimit() 및 QRhi::ShadingRateImageTileSize 을 통해 쿼리할 수 있습니다.
텍스처의 각 바이트(텍셀)는 타일 한 개에 대한 음영률 값에 해당합니다. 0은 1x1을 나타내며, 10은 4x4를 나타냅니다. 다른 가능한 값은 D3D12_SHADING_RATE를 참조하십시오.
[override virtual]
QRhiResource::Type QRhiShadingRateMap::resourceType() const
재구현합니다: QRhiResource::resourceType() const.
리소스 타입을 리턴합니다.
© 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.