Blender V4.3
blender::workbench::ShaderCache Class Reference

#include <workbench_private.hh>

Public Member Functions

 ShaderCache ()
 
GPUShaderprepass_get (eGeometryType geometry_type, ePipelineType pipeline_type, eLightingType lighting_type, eShaderType shader_type, bool clip)
 
GPUShaderresolve_get (eLightingType lighting_type, bool cavity=false, bool curvature=false, bool shadow=false)
 
GPUShadershadow_get (bool depth_pass, bool manifold, bool cap=false)
 
GPUShadervolume_get (bool smoke, int interpolation, bool coba, bool slice)
 

Static Public Member Functions

static ShaderCacheget ()
 
static void release ()
 

Public Attributes

StaticShader extract_stencil = {"workbench_extract_stencil"}
 
StaticShader transparent_resolve = {"workbench_transparent_resolve"}
 
StaticShader merge_depth = {"workbench_merge_depth"}
 
StaticShader shadow_visibility_dynamic
 
StaticShader shadow_visibility_static = {"workbench_shadow_visibility_compute_static_pass_type"}
 
StaticShader outline = {"workbench_effect_outline"}
 
StaticShader dof_prepare = {"workbench_effect_dof_prepare"}
 
StaticShader dof_downsample = {"workbench_effect_dof_downsample"}
 
StaticShader dof_blur1 = {"workbench_effect_dof_blur1"}
 
StaticShader dof_blur2 = {"workbench_effect_dof_blur2"}
 
StaticShader dof_resolve = {"workbench_effect_dof_resolve"}
 
StaticShader taa_accumulation = {"workbench_taa"}
 
StaticShader smaa_edge_detect = {"workbench_smaa_stage_0"}
 
StaticShader smaa_aa_weight = {"workbench_smaa_stage_1"}
 
StaticShader smaa_resolve = {"workbench_smaa_stage_2"}
 
StaticShader overlay_depth = {"workbench_overlay_depth"}
 

Detailed Description

Definition at line 49 of file workbench_private.hh.

Constructor & Destructor Documentation

◆ ShaderCache()

Member Function Documentation

◆ get()

◆ prepass_get()

GPUShader * blender::workbench::ShaderCache::prepass_get ( eGeometryType geometry_type,
ePipelineType pipeline_type,
eLightingType lighting_type,
eShaderType shader_type,
bool clip )
inline

Definition at line 67 of file workbench_private.hh.

References blender::workbench::StaticShader::get(), and int.

◆ release()

void blender::workbench::ShaderCache::release ( )
static

Definition at line 19 of file workbench_shader_cache.cc.

Referenced by workbench_engine_free().

◆ resolve_get()

GPUShader * blender::workbench::ShaderCache::resolve_get ( eLightingType lighting_type,
bool cavity = false,
bool curvature = false,
bool shadow = false )
inline

Definition at line 78 of file workbench_private.hh.

References blender::workbench::StaticShader::get(), and int.

◆ shadow_get()

GPUShader * blender::workbench::ShaderCache::shadow_get ( bool depth_pass,
bool manifold,
bool cap = false )
inline

◆ volume_get()

GPUShader * blender::workbench::ShaderCache::volume_get ( bool smoke,
int interpolation,
bool coba,
bool slice )
inline

Member Data Documentation

◆ dof_blur1

StaticShader blender::workbench::ShaderCache::dof_blur1 = {"workbench_effect_dof_blur1"}

Definition at line 113 of file workbench_private.hh.

◆ dof_blur2

StaticShader blender::workbench::ShaderCache::dof_blur2 = {"workbench_effect_dof_blur2"}

Definition at line 114 of file workbench_private.hh.

◆ dof_downsample

StaticShader blender::workbench::ShaderCache::dof_downsample = {"workbench_effect_dof_downsample"}

Definition at line 112 of file workbench_private.hh.

◆ dof_prepare

StaticShader blender::workbench::ShaderCache::dof_prepare = {"workbench_effect_dof_prepare"}

Definition at line 111 of file workbench_private.hh.

◆ dof_resolve

StaticShader blender::workbench::ShaderCache::dof_resolve = {"workbench_effect_dof_resolve"}

Definition at line 115 of file workbench_private.hh.

◆ extract_stencil

StaticShader blender::workbench::ShaderCache::extract_stencil = {"workbench_extract_stencil"}

Definition at line 96 of file workbench_private.hh.

◆ merge_depth

StaticShader blender::workbench::ShaderCache::merge_depth = {"workbench_merge_depth"}

Definition at line 100 of file workbench_private.hh.

◆ outline

StaticShader blender::workbench::ShaderCache::outline = {"workbench_effect_outline"}

Definition at line 108 of file workbench_private.hh.

◆ overlay_depth

StaticShader blender::workbench::ShaderCache::overlay_depth = {"workbench_overlay_depth"}

Definition at line 122 of file workbench_private.hh.

◆ shadow_visibility_dynamic

StaticShader blender::workbench::ShaderCache::shadow_visibility_dynamic
Initial value:
= {
"workbench_shadow_visibility_compute_dynamic_pass_type"}

Definition at line 103 of file workbench_private.hh.

◆ shadow_visibility_static

StaticShader blender::workbench::ShaderCache::shadow_visibility_static = {"workbench_shadow_visibility_compute_static_pass_type"}

Definition at line 105 of file workbench_private.hh.

◆ smaa_aa_weight

StaticShader blender::workbench::ShaderCache::smaa_aa_weight = {"workbench_smaa_stage_1"}

Definition at line 120 of file workbench_private.hh.

Referenced by blender::workbench::AntiAliasingPass::sync().

◆ smaa_edge_detect

StaticShader blender::workbench::ShaderCache::smaa_edge_detect = {"workbench_smaa_stage_0"}

Definition at line 119 of file workbench_private.hh.

Referenced by blender::workbench::AntiAliasingPass::sync().

◆ smaa_resolve

StaticShader blender::workbench::ShaderCache::smaa_resolve = {"workbench_smaa_stage_2"}

Definition at line 121 of file workbench_private.hh.

Referenced by blender::workbench::AntiAliasingPass::sync().

◆ taa_accumulation

StaticShader blender::workbench::ShaderCache::taa_accumulation = {"workbench_taa"}

Definition at line 118 of file workbench_private.hh.

Referenced by blender::workbench::AntiAliasingPass::sync().

◆ transparent_resolve

StaticShader blender::workbench::ShaderCache::transparent_resolve = {"workbench_transparent_resolve"}

Definition at line 99 of file workbench_private.hh.


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