|
Blender V5.0
|
#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, const size_t n) |
| void | compute_thin_film_table (const Transform &xyz_to_rgb) |
| 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) |
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(), and DeviceScene::svm_nodes.
Referenced by device_update_specific().
|
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, LOG_DEBUG, and Node::name.
Referenced by device_update_specific().
|
overridevirtual |
Implements ShaderManager.
Definition at line 51 of file svm.cpp.
References device_vector< T >::alloc(), Node::clear_modified(), device_free(), ShaderManager::device_update_common(), device_update_shader(), Shader::emission_sampling, EMISSION_SAMPLING_NONE, Progress::get_cancel(), i, Shader::id, Scene::light_manager, LOG_INFO, ShaderManager::need_update(), LightManager::SHADER_COMPILED, Scene::shaders, unique_ptr_vector< T >::size(), DeviceScene::svm_nodes, task_pool, time_dt(), timer, ShaderManager::update_flags, ShaderManager::UPDATE_NONE, Scene::update_stats, int4::w, int4::x, int4::y, and int4::z.