IESDataset

class IESDataset

This class is used by the IESLoader to generate a LUT texture which is used in the shaders to perform IES lighting. It takes a set of vertical and horizontal angles, as well as a set of candela values, which then are lineary interpolated onto a 2D LUT Texture.

Inheritance diagram

Inheritance diagram of IESDataset

IESDataset(void)
IESDataset(IESDataset const&) = default

This constructs a new IESDataset with no data set.

void generate_dataset_texture_into(Texture *dest_tex, std::size_t z) const

This generates the LUT into a given dataset texture. The x-axis referes to the vertical_angle, whereas the y-axis refers to the horizontal angle.

2D Texture Array.

void set_candela_values(PTA_float const &candela_values)

This sets the candela values of the dataset. They should be an interleaved 2D array with the dimensions vertical_angles x horizontal_angles. They also should be normalized by dividing by the maximum entry.

void set_horizontal_angles(PTA_float const &horizontal_angles)

This sets the list of horizontal angles of the dataset.

void set_vertical_angles(PTA_float const &vertical_angles)

This sets the list of vertical angles of the dataset.