Light Profiles

Element type: miSCENE_LIGHTPROFILE
Data type: miLight_profile[ ]
Sizes: -
Defaults: all nulls
typedef enum miLight_profile_basis {
        miLP_BASIS_NONE    = 0,
        miLP_BASIS_HERMITE = 1
} miLight_profile_basis;


typedef enum miLight_profile_std {
        miLP_STD_NONE      = 0,
        miLP_STD_IES       = 1,
        miLP_STD_EULUMDAT  = 2
} miLight_profile_std;

typedef struct miLight_profile {
        miLight_profile_std   format;   /* data file standard */
        miLight_profile_basis base;     /* basis for interpolation */
        int             quality;        /* interpolation quality */
        miTag           filename;       /* orig data file */
        int             n_vert_angles;  /* there are n theta angles */
        int             n_horz_angles;  /* there are n phi angles */
        int             flags;          /* symmetry properties */
} miLight_profile;
A translator must provide: all fields.
A translator may provide: all fields.
Provided by mi_scene_create:

The intensity of light emitted by a light source may depend on the emission direction. Light profiles allow describing such dependencies. There are two data formats, IES and Eulumdat, widely used by manufacturers of illumination devices to describe the intensity distributions of their light sources. mental ray can read these data formats and transform them to an internal representation, described by a light profile.

format describes the file format of the light profile data. Allowed values are miLP_STD_IES and miLP_STD_EULUMDAT

base describes the interpolation method used on the internal light profile repesentation. At this time the only method implemented is Hermite interpolation. Hence, the value of base should always be set to miLP_BASIS_HERMITE.

quality describes the quality of the internal representation of the light profile. For Hermite bases the only allowed values are 1 or 3, corresponding to linear of cubic Hermite interpolation.

filename specifies the file containing the light profile data.

n_vert_angles gives the number of equidistant vertical angle values to be used for the internal representation of the light profile.

n_horz_angles gives the number of equidistant horizontal angle values to be used for the internal representation of the light profile.

flags IES light profiles are often stored in a non-standard way with respect to the orientation of the involved horizontal angles. If flags is set to 1, then mental ray assumes that the horizontal angles are stored in non-standard clockwise order. If the flag value is 2, then mental ray assumes that the horizontal angles are stored in counter-clockwise order.

Copyright © 1986, 2013 NVIDIA Corporation