|
Blender V4.5
|
#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, and light_set_membership.
| 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(), OrientationBounds::axis, LightTreeMeasure::bbox, LightTreeMeasure::bcone, centroid, cross, Shader::emission_estimate, Shader::emission_sampling, EMISSION_SAMPLING_BACK, EMISSION_SAMPLING_FRONT, LightTreeMeasure::energy, fabs(), fabsf, fast_atanf(), fast_tanf(), fmaxf, Light::get_shader(), Mesh::get_triangle(), BoundBox::grow(), is_light(), is_triangle(), lamp, 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, mesh, min, object_id, Scene::objects, prim_id, safe_normalize(), scene, size(), OrientationBounds::theta_e, OrientationBounds::theta_o, 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 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 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 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(), 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().