Blender  V3.3
Public Member Functions | Protected Member Functions | List of all members
SVMShaderManager Class Reference

#include <svm.h>

Inheritance diagram for SVMShaderManager:
ShaderManager

Public Member Functions

 SVMShaderManager ()
 
 ~SVMShaderManager ()
 
void reset (Scene *scene) 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 (Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
 
void device_update_common (Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
 
void device_free_common (Device *device, DeviceScene *dscene, Scene *scene)
 
uint get_attribute_id (ustring name)
 
uint 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 (float3 c)
 
float3 rec709_to_scene_linear (float3 c)
 
string get_cryptomatte_materials (Scene *scene)
 
void tag_update (Scene *scene, 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 ()
 
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) , INTEGRATOR_MODIFIED = (1 << 3) , UPDATE_ALL = ~0u ,
  UPDATE_NONE = 0u
}
 
- Static Public Member Functions inherited from ShaderManager
static ShaderManagercreate (int shadingsystem)
 
static void add_default (Scene *scene)
 
static void free_memory ()
 
- Protected Types inherited from ShaderManager
typedef unordered_map< ustring, uint, ustringHash > AttributeIDMap
 
- Protected Attributes inherited from ShaderManager
uint32_t update_flags
 
AttributeIDMap unique_attribute_id
 
size_t beckmann_table_offset
 
thread_spin_lock attribute_lock_
 
float3 xyz_to_r
 
float3 xyz_to_g
 
float3 xyz_to_b
 
float3 rgb_to_y
 
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
 
static vector< floatbeckmann_table
 
static bool beckmann_table_ready = false
 

Detailed Description

Definition at line 29 of file scene/svm.h.

Constructor & Destructor Documentation

◆ SVMShaderManager()

CCL_NAMESPACE_BEGIN SVMShaderManager::SVMShaderManager ( )

Definition at line 25 of file svm.cpp.

◆ ~SVMShaderManager()

SVMShaderManager::~SVMShaderManager ( )

Definition at line 29 of file svm.cpp.

Member Function Documentation

◆ device_free()

void SVMShaderManager::device_free ( Device device,
DeviceScene dscene,
Scene scene 
)
overridevirtual

◆ device_update_shader()

void SVMShaderManager::device_update_shader ( Scene scene,
Shader shader,
Progress progress,
array< int4 > *  svm_nodes 
)
protected

◆ device_update_specific()

void SVMShaderManager::device_update_specific ( Device device,
DeviceScene dscene,
Scene scene,
Progress progress 
)
overridevirtual

Implements ShaderManager.

Definition at line 57 of file svm.cpp.

References ShaderManager::need_update(), scene, time, and Scene::update_stats.

◆ reset()

void SVMShaderManager::reset ( Scene scene)
overridevirtual

Implements ShaderManager.

Definition at line 33 of file svm.cpp.


The documentation for this class was generated from the following files: