|
Blender V4.3
|
#include <integrator.h>
Inherits Node.
Public Types | |
| enum | : uint32_t { AO_PASS_MODIFIED = (1 << 0) , OBJECT_MANAGER = (1 << 1) , UPDATE_ALL = ~0u , UPDATE_NONE = 0u } |
Public Member Functions | |
| NODE_DECLARE | NODE_SOCKET_API (bool, use_guiding) |
| NODE_SOCKET_API (bool, deterministic_guiding) | |
| NODE_SOCKET_API (bool, use_surface_guiding) | |
| NODE_SOCKET_API (float, surface_guiding_probability) | |
| NODE_SOCKET_API (bool, use_volume_guiding) | |
| NODE_SOCKET_API (float, volume_guiding_probability) | |
| NODE_SOCKET_API (int, guiding_training_samples) | |
| NODE_SOCKET_API (bool, use_guiding_direct_light) | |
| NODE_SOCKET_API (bool, use_guiding_mis_weights) | |
| NODE_SOCKET_API (GuidingDistributionType, guiding_distribution_type) | |
| NODE_SOCKET_API (GuidingDirectionalSamplingType, guiding_directional_sampling_type) | |
| NODE_SOCKET_API (float, guiding_roughness_threshold) | |
| NODE_SOCKET_API (bool, use_direct_light) | |
| NODE_SOCKET_API (bool, use_indirect_light) | |
| NODE_SOCKET_API (bool, use_diffuse) | |
| NODE_SOCKET_API (bool, use_glossy) | |
| NODE_SOCKET_API (bool, use_transmission) | |
| NODE_SOCKET_API (bool, use_emission) | |
| NODE_SOCKET_API (bool, use_denoise) | |
| NODE_SOCKET_API (DenoiserType, denoiser_type) | |
| NODE_SOCKET_API (int, denoise_start_sample) | |
| NODE_SOCKET_API (bool, use_denoise_pass_albedo) | |
| NODE_SOCKET_API (bool, use_denoise_pass_normal) | |
| NODE_SOCKET_API (DenoiserPrefilter, denoiser_prefilter) | |
| NODE_SOCKET_API (bool, denoise_use_gpu) | |
| NODE_SOCKET_API (DenoiserQuality, denoiser_quality) | |
| Integrator () | |
| ~Integrator () | |
| void | device_update (Device *device, DeviceScene *dscene, Scene *scene) |
| void | device_free (Device *device, DeviceScene *dscene, bool force_free=false) |
| void | tag_update (Scene *scene, uint32_t flag) |
| uint | get_kernel_features () const |
| AdaptiveSampling | get_adaptive_sampling () const |
| DenoiseParams | get_denoise_params () const |
| GuidingParams | get_guiding_params (const Device *device) const |
Public Member Functions inherited from Node | |
| Node (const NodeType *type, ustring name=ustring()) | |
| virtual | ~Node ()=0 |
| void | set (const SocketType &input, bool value) |
| void | set (const SocketType &input, int value) |
| void | set (const SocketType &input, uint value) |
| void | set (const SocketType &input, uint64_t value) |
| void | set (const SocketType &input, float value) |
| void | set (const SocketType &input, float2 value) |
| void | set (const SocketType &input, float3 value) |
| void | set (const SocketType &input, const char *value) |
| void | set (const SocketType &input, ustring value) |
| void | set (const SocketType &input, const Transform &value) |
| void | set (const SocketType &input, Node *value) |
| template<class ValueType , std::enable_if_t< std::is_enum_v< ValueType >, bool > = true> | |
| void | set (const SocketType &input, const ValueType &value) |
| void | set (const SocketType &input, array< bool > &value) |
| void | set (const SocketType &input, array< int > &value) |
| void | set (const SocketType &input, array< float > &value) |
| void | set (const SocketType &input, array< float2 > &value) |
| void | set (const SocketType &input, array< float3 > &value) |
| void | set (const SocketType &input, array< ustring > &value) |
| void | set (const SocketType &input, array< Transform > &value) |
| void | set (const SocketType &input, array< Node * > &value) |
| bool | get_bool (const SocketType &input) const |
| int | get_int (const SocketType &input) const |
| uint | get_uint (const SocketType &input) const |
| uint64_t | get_uint64 (const SocketType &input) const |
| float | get_float (const SocketType &input) const |
| float2 | get_float2 (const SocketType &input) const |
| float3 | get_float3 (const SocketType &input) const |
| ustring | get_string (const SocketType &input) const |
| Transform | get_transform (const SocketType &input) const |
| Node * | get_node (const SocketType &input) const |
| const array< bool > & | get_bool_array (const SocketType &input) const |
| const array< int > & | get_int_array (const SocketType &input) const |
| const array< float > & | get_float_array (const SocketType &input) const |
| const array< float2 > & | get_float2_array (const SocketType &input) const |
| const array< float3 > & | get_float3_array (const SocketType &input) const |
| const array< ustring > & | get_string_array (const SocketType &input) const |
| const array< Transform > & | get_transform_array (const SocketType &input) const |
| const array< Node * > & | get_node_array (const SocketType &input) const |
| bool | has_default_value (const SocketType &input) const |
| void | set_default_value (const SocketType &input) |
| bool | equals_value (const Node &other, const SocketType &input) const |
| void | copy_value (const SocketType &input, const Node &other, const SocketType &other_input) |
| void | set_value (const SocketType &input, const Node &other, const SocketType &other_input) |
| bool | equals (const Node &other) const |
| void | hash (MD5Hash &md5) |
| size_t | get_total_size_in_bytes () const |
| bool | is_a (const NodeType *type) |
| bool | socket_is_modified (const SocketType &input) const |
| bool | is_modified () const |
| void | tag_modified () |
| void | clear_modified () |
| void | print_modified_sockets () const |
| const NodeOwner * | get_owner () const |
| void | set_owner (const NodeOwner *owner_) |
| int | reference_count () const |
| void | reference () |
| void | dereference () |
| void | clear_reference_count () |
Static Public Attributes | |
| static const int | MAX_SAMPLES = (1 << 24) |
Additional Inherited Members | |
Public Attributes inherited from Node | |
| ustring | name |
| const NodeType * | type |
| InternalNode | internal |
| LeafNode | leaf |
Protected Member Functions inherited from Node | |
| template<typename T > | |
| void | set_if_different (const SocketType &input, T value) |
| void | set_if_different (const SocketType &input, Node *value) |
| template<typename T > | |
| void | set_if_different (const SocketType &input, array< T > &value) |
| void | set_if_different (const SocketType &input, array< Node * > &value) |
| void | dereference_all_used_nodes () |
Static Protected Member Functions inherited from Node | |
| template<typename T > | |
| static T & | get_socket_value (const Node *node, const SocketType &socket) |
Protected Attributes inherited from Node | |
| const NodeOwner * | owner |
| int | ref_count {0} |
| SocketModifiedFlags | socket_modified |
Definition at line 21 of file integrator.h.
| anonymous enum : uint32_t |
| Enumerator | |
|---|---|
| AO_PASS_MODIFIED | |
| OBJECT_MANAGER | |
| UPDATE_ALL | |
| UPDATE_NONE | |
Definition at line 104 of file integrator.h.
| Integrator::Integrator | ( | ) |
Definition at line 165 of file integrator.cpp.
| Integrator::~Integrator | ( | ) |
Definition at line 167 of file integrator.cpp.
| void Integrator::device_free | ( | Device * | device, |
| DeviceScene * | dscene, | ||
| bool | force_free = false ) |
Definition at line 339 of file integrator.cpp.
References device_vector< T >::free_if_need_realloc(), and DeviceScene::sample_pattern_lut.
Referenced by Scene::free_memory().
| void Integrator::device_update | ( | Device * | device, |
| DeviceScene * | dscene, | ||
| Scene * | scene ) |
Definition at line 169 of file integrator.cpp.
References Node::is_modified(), and timer.
Referenced by Scene::device_update().
| AdaptiveSampling Integrator::get_adaptive_sampling | ( | ) | const |
Definition at line 377 of file integrator.cpp.
References AdaptiveSampling::adaptive_step, ceilf, DCHECK, int, is_power_of_two(), max, AdaptiveSampling::min_samples, powf, AdaptiveSampling::threshold, AdaptiveSampling::use, and VLOG_INFO.
Referenced by BlenderSync::sync_integrator(), and Film::update_passes().
| DenoiseParams Integrator::get_denoise_params | ( | ) | const |
Definition at line 420 of file integrator.cpp.
References DenoiseParams::prefilter, DenoiseParams::quality, DenoiseParams::start_sample, DenoiseParams::type, DenoiseParams::use, DenoiseParams::use_gpu, DenoiseParams::use_pass_albedo, and DenoiseParams::use_pass_normal.
| GuidingParams Integrator::get_guiding_params | ( | const Device * | device | ) | const |
Definition at line 441 of file integrator.cpp.
References GuidingParams::deterministic, DeviceInfo::has_guiding, Device::info, GuidingParams::roughness_threshold, GuidingParams::sampling_type, GuidingParams::training_samples, GuidingParams::type, GuidingParams::use, GuidingParams::use_surface_guiding, and GuidingParams::use_volume_guiding.
Referenced by Scene::update_kernel_features().
| uint Integrator::get_kernel_features | ( | ) | const |
Definition at line 362 of file integrator.cpp.
References KERNEL_FEATURE_AO_ADDITIVE, and KERNEL_FEATURE_LIGHT_TREE.
Referenced by Scene::update_kernel_features().
| Integrator::NODE_SOCKET_API | ( | bool | , |
| denoise_use_gpu | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| deterministic_guiding | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_denoise | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_denoise_pass_albedo | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_denoise_pass_normal | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_diffuse | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_direct_light | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_emission | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_glossy | ) |
| NODE_DECLARE Integrator::NODE_SOCKET_API | ( | bool | , |
| use_guiding | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_guiding_direct_light | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_guiding_mis_weights | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_indirect_light | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_surface_guiding | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_transmission | ) |
| Integrator::NODE_SOCKET_API | ( | bool | , |
| use_volume_guiding | ) |
| Integrator::NODE_SOCKET_API | ( | DenoiserPrefilter | , |
| denoiser_prefilter | ) |
| Integrator::NODE_SOCKET_API | ( | DenoiserQuality | , |
| denoiser_quality | ) |
| Integrator::NODE_SOCKET_API | ( | DenoiserType | , |
| denoiser_type | ) |
| Integrator::NODE_SOCKET_API | ( | float | , |
| guiding_roughness_threshold | ) |
| Integrator::NODE_SOCKET_API | ( | float | , |
| surface_guiding_probability | ) |
| Integrator::NODE_SOCKET_API | ( | float | , |
| volume_guiding_probability | ) |
| Integrator::NODE_SOCKET_API | ( | GuidingDirectionalSamplingType | , |
| guiding_directional_sampling_type | ) |
| Integrator::NODE_SOCKET_API | ( | GuidingDistributionType | , |
| guiding_distribution_type | ) |
| Integrator::NODE_SOCKET_API | ( | int | , |
| denoise_start_sample | ) |
| Integrator::NODE_SOCKET_API | ( | int | , |
| guiding_training_samples | ) |
Definition at line 344 of file integrator.cpp.
References AO_PASS_MODIFIED, flag, ObjectManager::MOTION_BLUR_MODIFIED, Node::tag_modified(), and UPDATE_ALL.
Referenced by Scene::reset(), and BlenderSync::sync_integrator().
|
static |
Definition at line 80 of file integrator.h.
Referenced by BlenderSync::get_session_params(), HdCyclesDelegate::SetRenderSetting(), and Session::update_status_time().