esp::gfx::PbrImageBasedLighting class

Public types

enum class Flag: Magnum::UnsignedShort { IndirectDiffuse = 1 << 0, IndirectSpecular = 1 << 1, UseLDRImages = 1 << 2 }
Flag.
using Flags = Corrade::Containers::EnumSet<Flag>
Flags.

Constructors, destructors, conversion operators

PbrImageBasedLighting(Flags flags, ShaderManager& shaderManager, const std::string& hdriImageFilename) explicit
constructor

Public functions

auto getIrradianceMap() -> CubeMap&
get the irradiance cube map
auto getPrefilteredMap() -> CubeMap&
get the pre-filtered cube map
auto getBrdfLookupTable() -> Magnum::GL::Texture2D&
get the brdf lookup table
void convertEquirectangularToCubeMap(const std::string& equirectangularImageFilename)
get the brdf lookup table

Enum documentation

enum class esp::gfx::PbrImageBasedLighting::Flag: Magnum::UnsignedShort

Flag.

Enumerators
IndirectDiffuse

enable indirect diffuse part of the lighting equation

IndirectSpecular

enable indirect specular part of the lighting equation

UseLDRImages

use LDR images for irradiance cube map, brdf lookup table, pre-fitered cube map

Function documentation

esp::gfx::PbrImageBasedLighting::PbrImageBasedLighting(Flags flags, ShaderManager& shaderManager, const std::string& hdriImageFilename) explicit

constructor

Parameters
flags in that indicate settings
shaderManager in shader manager that manages all the shaders
hdriImageFilename in name of the HDRi image (an equirectangular image), that will be converted to a environment cube map NOTE!!! Such an image MUST be SPECIFIED in the ~/habitat-sim/data/pbr/PbrImages.conf and be put in that folder. example image: ~/habitat-sim/data/pbr/lythwood_room_4k.png

void esp::gfx::PbrImageBasedLighting::convertEquirectangularToCubeMap(const std::string& equirectangularImageFilename)

get the brdf lookup table

Parameters
equirectangularImageFilename in name (path included) of the equirectangular image, that will be converted to a environment cube map