Point, spot, directional and area lighting. More...
#include <ilight.h>

Public Member Functions | |
Light properties | |
| virtual Light_type | get_type () const =0 |
| Returns the light type. More... | |
| virtual void | set_type (Light_type type)=0 |
| Sets the light type. More... | |
| virtual Light_area_shape | get_area_shape () const =0 |
| Returns the area light shape. More... | |
| virtual void | set_area_shape (Light_area_shape light_area_shape)=0 |
| Sets the area light shape. More... | |
| virtual Float64 | get_area_radius () const =0 |
| Returns the radius of the area for area lights. More... | |
| virtual void | set_area_radius (Float64 radius)=0 |
| Sets the radius of the area for area lights. More... | |
| virtual Float64 | get_area_size_x () const =0 |
| Returns the size of the area in x direction for area lights. More... | |
| virtual void | set_area_size_x (Float64 size_x)=0 |
| Sets the size of the area in x direction for area lights. More... | |
| virtual Float64 | get_area_size_y () const =0 |
| Returns the size of the area in y direction for area lights. More... | |
| virtual void | set_area_size_y (Float64 size_y)=0 |
| Sets the size of the area in y direction for area light types. More... | |
Methods related to the bounding box | |
| virtual Bbox3_struct | get_bbox () const =0 |
| Returns the bounding box of the light. More... | |
| virtual Bbox3_struct | get_tight_bbox (const Float64_4_4_struct &transformation_matrix) const =0 |
| Returns the bounding box of the light after transformation. More... | |
Public Member Functions inherited from mi::neuraylib::IScene_element | |
| virtual Element_type | get_element_type () const =0 |
| Indicates the actual scene element represented by interfaces derived from this interface. More... | |
Public Member Functions inherited from mi::neuraylib::IAttribute_set | |
| virtual IData * | create_attribute (const char *name, const char *type)=0 |
Creates a new attribute name of the type type. More... | |
| template<class T> | |
| T * | create_attribute (const char *name, const char *type) |
Creates a new attribute name of the type type. More... | |
| template<class T> | |
| T * | create_attribute (const char *name) |
Creates a new attribute name of the type T. More... | |
| virtual bool | destroy_attribute (const char *name)=0 |
Destroys the attribute name. More... | |
| virtual const IData * | access_attribute (const char *name) const =0 |
Returns a const pointer to the attribute name. More... | |
| template<class T> | |
| const T * | access_attribute (const char *name) const |
Returns a const pointer to the attribute name. More... | |
| virtual IData * | edit_attribute (const char *name)=0 |
Returns a mutable pointer to the attribute name. More... | |
| template<class T> | |
| T * | edit_attribute (const char *name) |
Returns a mutable pointer to the attribute name. More... | |
| virtual bool | is_attribute (const char *name) const =0 |
| Indicates existence of an attribute. More... | |
| virtual const char * | get_attribute_type_name (const char *name) const =0 |
| Returns the type of an attribute. More... | |
| virtual Sint32 | set_attribute_propagation (const char *name, Propagation_type value)=0 |
Sets the propagation type of the attribute name. More... | |
| virtual Propagation_type | get_attribute_propagation (const char *name) const =0 |
Returns the propagation type of the attribute name. More... | |
| virtual const char * | enumerate_attributes (Sint32 index) const =0 |
Returns the name of the attribute indicated by index. More... | |
Public Member Functions inherited from mi::base::IInterface | |
| virtual Uint32 | retain () const =0 |
| Increments the reference count. More... | |
| virtual Uint32 | release () const =0 |
| Decrements the reference count. More... | |
| virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
| Acquires a const interface from another. More... | |
| template<class T> | |
| const T * | get_interface () const |
| Acquires a const interface from another. More... | |
| virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
| Acquires a mutable interface from another. More... | |
| template<class T> | |
| T * | get_interface () |
| Acquires a mutable interface from another. More... | |
| virtual Uuid | get_iid () const =0 |
| Returns the interface ID of the most derived interface. More... | |
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0xc9a437cf, ... > | |
| using | Self = Interface_declare< id1, ... > |
| Own type. More... | |
| using | IID = Uuid_t< id1, ... > |
| Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::Interface_declare< 0x8a2a4da9, ... > | |
| using | Self = Interface_declare< id1, ... > |
| Own type. More... | |
| using | IID = Uuid_t< id1, ... > |
| Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::Interface_declare< 0x1bcb8d48, ... > | |
| using | Self = Interface_declare< id1, ... > |
| Own type. More... | |
| using | IID = Uuid_t< id1, ... > |
| Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::IInterface | |
| using | IID = Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> |
| Declares the interface ID (IID) of this interface. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0xc9a437cf, ... > | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x8a2a4da9, ... > | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x1bcb8d48, ... > | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::IInterface | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
Point, spot, directional and area lighting.
All lights are positioned at the origin of the local light space and point down the negative z -axis, like the camera. This differs from some traditional scene description formats, in which a light can have an origin, a direction, and possibly other orientation vectors. Instead, the Iray SDK uses transformations to express these properties.
For directional lights, the (transformed) position is irrelevant. The traditional use of a directional light is as an approximation of the rays of the sun, which is at such a great distance to the earth that at human scale the light rays are effectively parallel.
In addition, the Iray SDK provides the ability to specify an emission distribution function in a material. In this way, any object can be a source of light emission, but may also have reflective and transmissive properties as well.
See also "Environment dome".
|
pure virtual |
Returns the radius of the area for area lights.
This value is only meaningful for lights of type mi::neuraylib::AREA_DISC, mi::neuraylib::AREA_SPHERE, and mi::neuraylib::AREA_CYLINDER.
|
pure virtual |
Returns the area light shape.
|
pure virtual |
Returns the size of the area in x direction for area lights.
This value is only meaningful for lights of type mi::neuraylib::AREA_RECTANGLE and mi::neuraylib::AREA_CYLINDER. For cylindrical area lights, this value is half of the height of the cylinder.
|
pure virtual |
Returns the size of the area in y direction for area lights.
This value is only meaningful for lights of type mi::neuraylib::AREA_RECTANGLE.
|
pure virtual |
Returns the bounding box of the light.
|
pure virtual |
Returns the bounding box of the light after transformation.
| transformation_matrix | The world-to-object space transformation matrix that is applied to the object before the bounding box is computed. |
|
pure virtual |
Returns the light type.
|
pure virtual |
Sets the radius of the area for area lights.
This value is only meaningful for lights of type mi::neuraylib::AREA_DISC, mi::neuraylib::AREA_SPHERE, and mi::neuraylib::AREA_CYLINDER.
|
pure virtual |
Sets the area light shape.
|
pure virtual |
Sets the size of the area in x direction for area lights.
This value is only meaningful for lights of type mi::neuraylib::AREA_RECTANGLE and mi::neuraylib::AREA_CYLINDER. For cylindrical area lights, this value is half of the height of the cylinder.
|
pure virtual |
Sets the size of the area in y direction for area light types.
This value is only meaningful for lights of type mi::neuraylib::AREA_RECTANGLE.
|
pure virtual |
Sets the light type.