QEnvironmentLight 类

class Qt3DRender::QEnvironmentLight

封装 Qt 3D 场景中的环境光对象。 更多...

头文件 #include <QEnvironmentLight>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmakeQT += 3drender
实例化自 EnvironmentLight
继承自 Qt3DCore::QComponent

属性

公共函数

Qt3DRender::QAbstractTexture *irradiance() const
Qt3DRender::QAbstractTexture *specular() const

公共槽

voidsetIrradiance(Qt3DRender::QAbstractTexture *irradiance)
voidsetSpecular(Qt3DRender::QAbstractTexture *specular)

信号

voidirradianceChanged(Qt3DRender::QAbstractTexture *environmentIrradiance)
voidspecularChanged(Qt3DRender::QAbstractTexture *environmentSpecular)

详细描述

QEnvironmentLight 使用立方体贴图来实现基于图像的照明(IBL),这是一种常与基于物理渲染(PBR)一起使用的技巧。立方体贴图通常基于高动态范围(HDR)图像,具有适当的 OpenGL 格式(例如 RGBA16F),可以处理更大范围的值。

有多种工具可以用于生成 QEnvironmentLight 所需的立方体贴图。以下是一些示例:

HDR Haven 提供了许多 CC0 许可的 HDR 图像,可以作为上述工具的源材料。

属性文档

irradiance : Qt3DRender::QAbstractTexture*

包含当前环境辐照度地图纹理。

默认情况下,环境辐照度纹理为空。

注意:此属性的精确意义和使用取决于材料实现。

访问函数

Qt3DRender::QAbstractTexture *irradiance() const
voidsetIrradiance(Qt3DRender::QAbstractTexture *irradiance)

通知信号

voidirradianceChanged(Qt3DRender::QAbstractTexture *environmentIrradiance)

specular : Qt3DRender::QAbstractTexture*

包含当前环境反射率地图纹理。

默认情况下,环境高光纹理为空。

注意:此属性的精确意义和使用取决于材料实现。

访问函数

Qt3DRender::QAbstractTexture *specular() const
voidsetSpecular(Qt3DRender::QAbstractTexture *specular)

通知信号

voidspecularChanged(Qt3DRender::QAbstractTexture *environmentSpecular)

© 2024 The Qt Company Ltd. 以下文档的贡献版权归各自所有者所有。本提供的文档受免费软件基金会发布的GNU自由文档许可协议版本1.3条款约束。Qt及其相关标志是芬兰及/或其他国家/地区的The Qt Company Ltd.的商标。所有其他商标均为各自所有者财产。