QEnvironmentLight Class

class Qt3DRender::QEnvironmentLight

Encapsulate an environment light object in a Qt 3D scene. More...

Header: #include <QEnvironmentLight>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
Instantiated By: EnvironmentLight
Inherits: Qt3DCore::QComponent

Properties

Public Functions

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

Public Slots

void setIrradiance(Qt3DRender::QAbstractTexture *irradiance)
void setSpecular(Qt3DRender::QAbstractTexture *specular)

Signals

void irradianceChanged(Qt3DRender::QAbstractTexture *environmentIrradiance)
void specularChanged(Qt3DRender::QAbstractTexture *environmentSpecular)

Detailed Description

QEnvironmentLight uses cubemaps to implement image-based lighting (IBL), a technique often used in conjunction with physically-based rendering (PBR). The cubemaps are typically expected be based on high dynamic range (HDR) images, with a suitable OpenGL format (such as RGBA16F) that can handle the increased range of values.

There are a variety of tools that can be used to produce the cubemaps needed by QEnvironmentLight. Some examples include

HDRI Haven provides many CC0-licensed HDR images that can be used as source material for the above tools.

Property Documentation

irradiance : Qt3DRender::QAbstractTexture*

Holds the current environment irradiance map texture.

By default, the environment irradiance texture is null.

Note: The exact meaning and use of this property is up to the material implementation.

Access functions:

Qt3DRender::QAbstractTexture *irradiance() const
void setIrradiance(Qt3DRender::QAbstractTexture *irradiance)

Notifier signal:

void irradianceChanged(Qt3DRender::QAbstractTexture *environmentIrradiance)

specular : Qt3DRender::QAbstractTexture*

Holds the current environment specular map texture.

By default, the environment specular texture is null.

Note: The exact meaning and use of this property is up to the material implementation.

Access functions:

Qt3DRender::QAbstractTexture *specular() const
void setSpecular(Qt3DRender::QAbstractTexture *specular)

Notifier signal:

void specularChanged(Qt3DRender::QAbstractTexture *environmentSpecular)