|
Blender V4.3
|
#include <light_tree.h>
Public Member Functions | |
| LightTreeEmitter (Object *object, int object_id) | |
| LightTreeEmitter (Scene *scene, int prim_id, int object_id, bool with_transformation=false) | |
| __forceinline bool | is_mesh () const |
| __forceinline bool | is_triangle () const |
| __forceinline bool | is_light () const |
Public Attributes | ||
| unique_ptr< LightTreeNode > | root | |
| union { | ||
| int light_id | ||
| int prim_id | ||
| }; | ||
| int | object_id | |
| float3 | centroid | |
| uint64_t | light_set_membership | |
| LightTreeMeasure | measure | |
Definition at line 179 of file light_tree.h.
Definition at line 78 of file light_tree.cpp.
References centroid, and light_set_membership.
| LightTreeEmitter::LightTreeEmitter | ( | Scene * | scene, |
| int | prim_id, | ||
| int | object_id, | ||
| bool | with_transformation = false ) |
Definition at line 84 of file light_tree.cpp.
References average(), OrientationBounds::axis, LightTreeMeasure::bbox, LightTreeMeasure::bcone, centroid, cross(), EMISSION_SAMPLING_BACK, EMISSION_SAMPLING_FRONT, LightTreeMeasure::energy, fabs(), fabsf, fast_atanf(), fast_tanf(), fmaxf, Light::get_axisu(), Light::get_axisv(), Light::get_co(), Light::get_dir(), BoundBox::grow(), is_light(), is_triangle(), lamp, len, LIGHT_AREA, LIGHT_BACKGROUND, LIGHT_DISTANT, LIGHT_POINT, light_set_membership, LIGHT_SPOT, M_PI_2_F, M_PI_F, make_float3(), measure, min, object_id, prim_id, safe_normalize(), size(), OrientationBounds::theta_e, OrientationBounds::theta_o, transform_negative_scale(), transform_point(), triangle_area(), and Mesh::Triangle::v.
|
inline |
Definition at line 207 of file light_tree.h.
References is_mesh(), and light_id.
Referenced by light_tree_leaf_emitters_copy_and_flatten(), and LightTreeEmitter().
|
inline |
Definition at line 197 of file light_tree.h.
References root.
Referenced by is_light(), is_triangle(), and light_tree_leaf_emitters_copy_and_flatten().
|
inline |
Definition at line 202 of file light_tree.h.
References is_mesh(), and prim_id.
Referenced by light_tree_leaf_emitters_copy_and_flatten(), and LightTreeEmitter().
| union { ... } LightTreeEmitter |
| float3 LightTreeEmitter::centroid |
Definition at line 189 of file light_tree.h.
Referenced by LightTreeEmitter(), and LightTreeEmitter().
| int LightTreeEmitter::light_id |
Definition at line 184 of file light_tree.h.
Referenced by is_light(), and light_tree_leaf_emitters_copy_and_flatten().
| uint64_t LightTreeEmitter::light_set_membership |
Definition at line 190 of file light_tree.h.
Referenced by LightTreeBucket::add(), LightTreeNode::add(), light_tree_specialize_nodes_flatten(), LightTreeEmitter(), LightTreeEmitter(), and sort_leaf().
| LightTreeMeasure LightTreeEmitter::measure |
Definition at line 192 of file light_tree.h.
Referenced by LightTreeBucket::add(), LightTreeNode::add(), LightTree::build(), light_tree_leaf_emitters_copy_and_flatten(), light_tree_specialize_nodes_flatten(), and LightTreeEmitter().
| int LightTreeEmitter::object_id |
Definition at line 188 of file light_tree.h.
Referenced by LightTree::build(), light_tree_leaf_emitters_copy_and_flatten(), and LightTreeEmitter().
| int LightTreeEmitter::prim_id |
Definition at line 185 of file light_tree.h.
Referenced by is_triangle(), light_tree_leaf_emitters_copy_and_flatten(), and LightTreeEmitter().
| unique_ptr<LightTreeNode> LightTreeEmitter::root |
Definition at line 181 of file light_tree.h.
Referenced by LightTree::build(), is_mesh(), and light_tree_leaf_emitters_copy_and_flatten().