Blender V5.0
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, const 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
const LightTreeEmitterget_emitters () const

Public Attributes

std::atomic< int > num_nodes = 0
size_t num_triangles = 0
uint64_t light_link_receiver_used = 1

Detailed Description

Definition at line 385 of file light_tree.h.

Member Enumeration Documentation

◆ Child

Enumerator
self 
left 
right 

Definition at line 409 of file light_tree.h.

Constructor & Destructor Documentation

◆ LightTree()

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

Definition at line 284 of file light_tree.cpp.

References DeviceScene::data, if(), and Scene::objects.

Member Function Documentation

◆ build()

◆ create_node()

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

Definition at line 421 of file light_tree.h.

References num_nodes.

Referenced by build().

◆ get_emitters()

const LightTreeEmitter * LightTree::get_emitters ( ) const
inline

Definition at line 432 of file light_tree.h.

Referenced by LightManager::device_update_tree().

◆ num_emitters()

size_t LightTree::num_emitters ( ) const
inline

Definition at line 427 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 406 of file light_tree.h.

Referenced by LightManager::device_update_tree().

◆ num_nodes

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

Definition at line 402 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 403 of file light_tree.h.

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


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