|
Blender V4.3
|
#include <svm.h>
Inherits ShaderManager.
Protected Member Functions | |
| void | device_update_shader (Scene *scene, Shader *shader, Progress *progress, array< int4 > *svm_nodes) |
Protected Member Functions inherited from ShaderManager | |
| ShaderManager () | |
| template<std::size_t n> | |
| size_t | ensure_bsdf_table (DeviceScene *dscene, Scene *scene, const float(&table)[n]) |
| size_t | ensure_bsdf_table_impl (DeviceScene *dscene, Scene *scene, const float *table, size_t n) |
| uint | get_graph_kernel_features (ShaderGraph *graph) |
Additional Inherited Members | |
Public Types inherited from ShaderManager | |
| enum | : uint32_t { SHADER_ADDED = (1 << 0) , SHADER_MODIFIED = (1 << 2) , UPDATE_ALL = ~0u , UPDATE_NONE = 0u } |
Static Public Member Functions inherited from ShaderManager | |
| static ShaderManager * | create (int shadingsystem, Device *device) |
| static void | add_default (Scene *scene) |
| static void | free_memory () |
Protected Types inherited from ShaderManager | |
| typedef unordered_map< ustring, uint64_t, ustringHash > | AttributeIDMap |
Protected Attributes inherited from ShaderManager | |
| uint32_t | update_flags |
| AttributeIDMap | unique_attribute_id |
| unordered_map< const float *, size_t > | bsdf_tables |
| thread_spin_lock | attribute_lock_ |
| float3 | xyz_to_r |
| float3 | xyz_to_g |
| float3 | xyz_to_b |
| float3 | rgb_to_y |
| float3 | white_xyz |
| float3 | rec709_to_r |
| float3 | rec709_to_g |
| float3 | rec709_to_b |
| bool | is_rec709 |
Static Protected Attributes inherited from ShaderManager | |
| static thread_mutex | lookup_table_mutex |
Definition at line 30 of file scene/svm.h.
| CCL_NAMESPACE_BEGIN SVMShaderManager::SVMShaderManager | ( | ) |
|
overridevirtual |
Implements ShaderManager.
Definition at line 149 of file svm.cpp.
References ShaderManager::device_free_common(), device_vector< T >::free(), and DeviceScene::svm_nodes.
|
protected |
Definition at line 32 of file svm.cpp.
References SVMCompiler::background, SVMCompiler::compile(), SVMCompiler::Summary::full_report(), Progress::get_cancel(), and VLOG_WORK.
|
overridevirtual |
Implements ShaderManager.
Definition at line 52 of file svm.cpp.
References ShaderManager::need_update(), and timer.
|
overridevirtual |
Implements ShaderManager.