|
Blender V4.5
|
#include <svm.h>
Inherits ShaderManager.
Public Member Functions | |
| SVMShaderManager () | |
| ~SVMShaderManager () override | |
| void | device_update_specific (Device *device, DeviceScene *dscene, Scene *scene, Progress &progress) override |
| void | device_free (Device *device, DeviceScene *dscene, Scene *scene) override |
Public Member Functions inherited from ShaderManager | |
| virtual | ~ShaderManager () |
| virtual bool | use_osl () |
| void | device_update_pre (Device *device, DeviceScene *dscene, Scene *scene, Progress &progress) |
| void | device_update_post (Device *device, DeviceScene *dscene, Scene *scene, Progress &progress) |
| virtual uint64_t | get_attribute_id (ustring name) |
| virtual uint64_t | get_attribute_id (AttributeStandard std) |
| int | get_shader_id (Shader *shader, bool smooth=false) |
| uint | get_kernel_features (Scene *scene) |
| float | linear_rgb_to_gray (const float3 c) |
| float3 | rec709_to_scene_linear (const float3 c) |
| string | get_cryptomatte_materials (Scene *scene) |
| void | tag_update (Scene *scene, const uint32_t flag) |
| bool | need_update () const |
| void | init_xyz_transforms () |
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, const size_t n) |
| uint | get_graph_kernel_features (ShaderGraph *graph) |
| void | device_update_common (Device *device, DeviceScene *dscene, Scene *scene, Progress &progress) |
| void | device_free_common (Device *device, DeviceScene *dscene, Scene *scene) |
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 unique_ptr< ShaderManager > | create (const int shadingsystem) |
| static void | add_default (Scene *scene) |
Protected Types inherited from ShaderManager | |
| using | AttributeIDMap = unordered_map<ustring, uint64_t> |
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 28 of file scene/svm.h.
|
default |
|
overridedefault |
|
overridevirtual |
Implements ShaderManager.
Definition at line 143 of file svm.cpp.
References ShaderManager::device_free_common(), device_vector< T >::free(), scene, and DeviceScene::svm_nodes.
|
protected |
Definition at line 31 of file svm.cpp.
References assert, Scene::background, SVMCompiler::background, SVMCompiler::compile(), SVMCompiler::Summary::full_report(), Progress::get_cancel(), Background::get_shader(), Shader::graph, Node::name, scene, and VLOG_WORK.
|
overridevirtual |
Implements ShaderManager.
Definition at line 51 of file svm.cpp.
References ShaderManager::need_update(), scene, time, timer, and Scene::update_stats.