IESDataset

from panda3d._rplight import IESDataset
class IESDataset

Bases: DTOOL_SUPER_BASE

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

__init__(*args, **kwargs)
generateDatasetTextureInto()

C++ Interface: generate_dataset_texture_into(IESDataset self, Texture dest_tex, int z)

/**
  • @brief Generates the IES LUT

  • @details 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.

  • @param dest_tex Texture to write the LUT into

  • @param z Layer to write the LUT into, in case the texture is a 3D Texture or

  • 2D Texture Array.

*/

generate_dataset_texture_into()

C++ Interface: generate_dataset_texture_into(IESDataset self, Texture dest_tex, int z)

/**
  • @brief Generates the IES LUT

  • @details 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.

  • @param dest_tex Texture to write the LUT into

  • @param z Layer to write the LUT into, in case the texture is a 3D Texture or

  • 2D Texture Array.

*/

setCandelaValues()

C++ Interface: set_candela_values(const IESDataset self, const PointerToArray candela_values)

/**
  • @brief Sets the candela values.

  • @details 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.

  • @param candela_values Interleaved 2D-vector of candela values.

*/

setHorizontalAngles()

C++ Interface: set_horizontal_angles(const IESDataset self, const PointerToArray horizontal_angles)

/**
  • @brief Sets the horizontal angles of the dataset.

  • @details This sets the list of horizontal angles of the dataset.

  • @param horizontal_angles Vector of all horizontal angles.

*/

setVerticalAngles()

C++ Interface: set_vertical_angles(const IESDataset self, const PointerToArray vertical_angles)

/**
  • @brief Sets the vertical angles of the dataset.

  • @details This sets the list of vertical angles of the dataset.

  • @param vertical_angles Vector of all vertical angles.

*/

set_candela_values()

C++ Interface: set_candela_values(const IESDataset self, const PointerToArray candela_values)

/**
  • @brief Sets the candela values.

  • @details 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.

  • @param candela_values Interleaved 2D-vector of candela values.

*/

set_horizontal_angles()

C++ Interface: set_horizontal_angles(const IESDataset self, const PointerToArray horizontal_angles)

/**
  • @brief Sets the horizontal angles of the dataset.

  • @details This sets the list of horizontal angles of the dataset.

  • @param horizontal_angles Vector of all horizontal angles.

*/

set_vertical_angles()

C++ Interface: set_vertical_angles(const IESDataset self, const PointerToArray vertical_angles)

/**
  • @brief Sets the vertical angles of the dataset.

  • @details This sets the list of vertical angles of the dataset.

  • @param vertical_angles Vector of all vertical angles.

*/