|
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 > | 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.
Referenced by device_update_specific().
|
protected |
Definition at line 32 of file svm.cpp.
References Scene::background, SVMCompiler::background, SVMCompiler::compile(), SVMCompiler::Summary::full_report(), Progress::get_cancel(), Background::get_shader(), Shader::graph, Node::name, and VLOG_WORK.
Referenced by device_update_specific().
|
overridevirtual |
Implements ShaderManager.
Definition at line 52 of file svm.cpp.
References NamedTimeStats::add_entry(), device_vector< T >::alloc(), Node::clear_modified(), device_vector< T >::copy_to_device(), device_free(), ShaderManager::device_update_common(), device_update_shader(), Shader::emission_sampling, EMISSION_SAMPLING_NONE, function_bind, Progress::get_cancel(), Shader::id, Scene::light_manager, ShaderManager::need_update(), LightManager::SHADER_COMPILED, Scene::shaders, SceneUpdateStats::svm, DeviceScene::svm_nodes, LightManager::tag_update(), task_pool, time_dt(), timer, UpdateTimeStats::times, ShaderManager::update_flags, ShaderManager::UPDATE_NONE, Scene::update_stats, VLOG_INFO, int4::w, int4::x, int4::y, and int4::z.
|
overridevirtual |
Implements ShaderManager.