Blender V4.3
LightTree Class Reference

#include <light_tree.h>

Public Types

enum  Child { self = -1 , left = 0 , right = 1 }
 

Public Member Functions

 LightTree (Scene *scene, DeviceScene *dscene, Progress &progress, uint max_lights_in_leaf)
 
LightTreeNodebuild (Scene *scene, DeviceScene *dscene)
 
unique_ptr< LightTreeNodecreate_node (const LightTreeMeasure &measure, const uint &bit_trial)
 
size_t num_emitters ()
 
const LightTreeEmitterget_emitters () const
 

Public Attributes

std::atomic< intnum_nodes = 0
 
size_t num_triangles = 0
 
uint64_t light_link_receiver_used = 1
 

Detailed Description

Definition at line 377 of file light_tree.h.

Member Enumeration Documentation

◆ Child

Enumerator
self 
left 
right 

Definition at line 401 of file light_tree.h.

Constructor & Destructor Documentation

◆ LightTree()

LightTree::LightTree ( Scene * scene,
DeviceScene * dscene,
Progress & progress,
uint max_lights_in_leaf )

Member Function Documentation

◆ build()

◆ create_node()

unique_ptr< LightTreeNode > LightTree::create_node ( const LightTreeMeasure & measure,
const uint & bit_trial )
inline

Definition at line 413 of file light_tree.h.

References num_nodes.

Referenced by build().

◆ get_emitters()

const LightTreeEmitter * LightTree::get_emitters ( ) const
inline

Definition at line 424 of file light_tree.h.

Referenced by LightManager::device_update_tree().

◆ num_emitters()

size_t LightTree::num_emitters ( )
inline

Definition at line 419 of file light_tree.h.

Referenced by LightManager::device_update_tree().

Member Data Documentation

◆ light_link_receiver_used

uint64_t LightTree::light_link_receiver_used = 1

Definition at line 398 of file light_tree.h.

Referenced by LightManager::device_update_tree(), and LightTree().

◆ num_nodes

std::atomic<int> LightTree::num_nodes = 0

Definition at line 394 of file light_tree.h.

Referenced by create_node(), and LightManager::device_update_tree().

◆ num_triangles

size_t LightTree::num_triangles = 0

Definition at line 395 of file light_tree.h.

Referenced by build(), LightManager::device_update_tree(), and LightTree().


The documentation for this class was generated from the following files: