- Qt 6.4
- Qt 3D
- C++ Classes
- Qt3DRender
- QEnvironmentLight
- Qt 6.4.3 Reference Documentation

# 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
Since: | Qt 5.9
Instantiated By: | EnvironmentLight
Inherits: | Qt3DCore::QComponent

- List of all members, including inherited members

## Properties

- irradiance : Qt3DRender::QAbstractTexture*
- specular : Qt3DRender::QAbstractTexture*

## 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

- cmftStudio
- IBLBaker
- Lys

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)