|
Blender V5.0
|
#include <light_tree.h>
Public Member Functions | |
| LightTreeEmitter (Object *object, const int object_id) | |
| LightTreeEmitter (Scene *scene, const int prim_id, const int object_id, bool need_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 184 of file light_tree.h.
| LightTreeEmitter::LightTreeEmitter | ( | Object * | object, |
| const int | object_id ) |
Definition at line 79 of file light_tree.cpp.
References centroid, light_set_membership, and object_id.
| LightTreeEmitter::LightTreeEmitter | ( | Scene * | scene, |
| const int | prim_id, | ||
| const int | object_id, | ||
| bool | need_transformation = false ) |
Definition at line 85 of file light_tree.cpp.
References Light::area(), assert, average(), centroid, cross, Shader::emission_estimate, Shader::emission_sampling, EMISSION_SAMPLING_BACK, EMISSION_SAMPLING_FRONT, fabs(), fabsf, fast_atanf(), fast_tanf(), fmaxf, Light::get_shader(), Mesh::get_triangle(), i, is_light(), is_triangle(), len, LIGHT_AREA, LIGHT_BACKGROUND, LIGHT_DISTANT, LIGHT_POINT, light_set_membership, LIGHT_SPOT, M_1_PI_F, M_PI_2_F, M_PI_F, make_float3(), measure, min, object_id, Scene::objects, prim_id, safe_normalize(), size(), Geometry::transform_applied, transform_get_column(), transform_negative_scale(), transform_point(), triangle_area(), and Mesh::Triangle::v.
|
inline |
Definition at line 215 of file light_tree.h.
References __forceinline, is_mesh(), and light_id.
Referenced by light_tree_leaf_emitters_copy_and_flatten(), LightTreeEmitter(), and print_emitters().
|
inline |
Definition at line 205 of file light_tree.h.
References __forceinline, and root.
Referenced by is_light(), is_triangle(), light_tree_leaf_emitters_copy_and_flatten(), and print_emitters().
|
inline |
Definition at line 210 of file light_tree.h.
References __forceinline, is_mesh(), and prim_id.
Referenced by light_tree_leaf_emitters_copy_and_flatten(), LightTreeEmitter(), and print_emitters().
| union { ... } LightTreeEmitter |
| float3 LightTreeEmitter::centroid |
Definition at line 194 of file light_tree.h.
Referenced by LightTreeEmitter(), and LightTreeEmitter().
| int LightTreeEmitter::light_id |
Definition at line 189 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 195 of file light_tree.h.
Referenced by LightTreeBucket::add(), LightTreeNode::add(), light_tree_specialize_nodes_flatten(), LightTreeEmitter(), LightTreeEmitter(), print_emitters(), and sort_leaf().
| LightTreeMeasure LightTreeEmitter::measure |
Definition at line 197 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(), LightTreeEmitter(), and print_emitters().
| int LightTreeEmitter::object_id |
Definition at line 193 of file light_tree.h.
Referenced by LightTree::build(), light_tree_leaf_emitters_copy_and_flatten(), LightTreeEmitter(), LightTreeEmitter(), and print_emitters().
| int LightTreeEmitter::prim_id |
Definition at line 190 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 186 of file light_tree.h.
Referenced by LightTree::build(), is_mesh(), and light_tree_leaf_emitters_copy_and_flatten().