ilight.h File Reference
Description
Scene element Light.
Code Example
ilight.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_NEURAYLIB_ILIGHT_H
#define MI_NEURAYLIB_ILIGHT_H
#include <mi/neuraylib/iscene_element.h>
#include <mi/neuraylib/typedefs.h>
namespace mi {
namespace neuraylib {
enum Light_type {
LIGHT_POINT = 0,
LIGHT_INFINITE = 2,
LIGHT_FORCE_32_BIT = 0xffffffffU
};
mi_static_assert( sizeof( Light_type) == sizeof( Uint32));
enum Light_area_shape {
AREA_NONE = 0,
AREA_RECTANGLE = 1,
AREA_DISC = 2,
AREA_SPHERE = 3,
AREA_CYLINDER = 4,
N_AREA_TYPES,
AREA_FORCE_32_BIT = 0xffffffffU
};
mi_static_assert( sizeof( Light_area_shape) == sizeof( Uint32));
class ILight :
public base::Interface_declare<0xc9a437cf,0x6d47,0x4666,0x9c,0xf6,0xa4,0x3f,0x50,0xe8,0x0b,0x90,
neuraylib::IScene_element>
{
public:
virtual Light_type
get_type() const = 0;
virtual void set_type(Light_type type) = 0;
virtual Light_area_shape
get_area_shape() const = 0;
virtual void set_area_shape(Light_area_shape light_area_shape) = 0;
virtual Float64
get_area_radius() const = 0;
virtual void set_area_radius(Float64 radius) = 0;
virtual Float64
get_area_size_x() const = 0;
virtual void set_area_size_x(Float64 size_x) = 0;
virtual Float64
get_area_size_y() const = 0;
virtual void set_area_size_y(Float64 size_y) = 0;
virtual Bbox3_struct
get_bbox() const = 0;
virtual Bbox3_struct
get_tight_bbox( const Float64_4_4_struct& transformation_matrix) const = 0;
};
// end group mi_neuray_leaf_nodes
} // namespace neuraylib
} // namespace mi
#endif // MI_NEURAYLIB_ILIGHT_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the neuray API. More...
Classes
- class
- Point, spot, directional and area lighting. More...
Enumerations
- enum {AREA_NONE = 0, AREA_RECTANGLE = 1, AREA_DISC = 2, AREA_SPHERE = 3, AREA_CYLINDER = 4, N_AREA_TYPES, AREA_FORCE_32_BIT = 0xffffffffU }
- Supported area light shapes. More...
- enum {LIGHT_POINT = 0, LIGHT_INFINITE = 2, LIGHT_FORCE_32_BIT = 0xffffffffU }
- Supported light types. More...