Blender V4.3
workbench_composite_info.hh File Reference

Go to the source code of this file.

Base Composite

#define WORKBENCH_FINAL_VARIATION(name, ...)    GPU_SHADER_CREATE_INFO(name).additional_info(__VA_ARGS__).do_static_compilation(true);
 
#define WORKBENCH_RESOLVE_SHADOW_VARIATION(prefix, ...)
 
#define WORKBENCH_CURVATURE_VARIATIONS(prefix, ...)
 
#define WORKBENCH_CAVITY_VARIATIONS(prefix, ...)
 
#define WORKBENCH_LIGHTING_VARIATIONS(prefix, ...)
 
normal_tx WorldData
 
 matcap_tx
 
 object_id_tx
 
 stencil_tx
 
 sampler (3, ImageType::DEPTH_2D, "depth_tx") .sampler(4
 
normal_tx sampler (5, ImageType::FLOAT_2D, "material_tx") .uniform_buf(WB_WORLD_SLOT
 
normal_tx world_data typedef_source("workbench_shader_shared.h") .push_constant(Type GPU_SHADER_CREATE_INFO (workbench_resolve_opaque_studio).define("WORKBENCH_LIGHTING_STUDIO")
 
 define ("WORKBENCH_LIGHTING_MATCAP") .sampler(WB_MATCAP_SLOT
 
 GPU_SHADER_CREATE_INFO (workbench_resolve_opaque_flat).define("WORKBENCH_LIGHTING_FLAT")
 
 define ("WORKBENCH_CURVATURE") .sampler(6
 
 define ("WORKBENCH_CAVITY") .sampler(7
 
jitter_tx uniform_buf (5, "vec4", "cavity_samples[512]")
 
 define ("WORKBENCH_SHADOW") .sampler(8
 
 WORKBENCH_LIGHTING_VARIATIONS (workbench_resolve, "workbench_composite")
 

Macro Definition Documentation

◆ WORKBENCH_CAVITY_VARIATIONS

#define WORKBENCH_CAVITY_VARIATIONS ( prefix,
... )
Value:
WORKBENCH_CURVATURE_VARIATIONS(prefix##_cavity, "workbench_resolve_cavity", __VA_ARGS__) \
WORKBENCH_CURVATURE_VARIATIONS(prefix##_no_cavity, __VA_ARGS__)
#define WORKBENCH_CURVATURE_VARIATIONS(prefix,...)

Definition at line 64 of file workbench_composite_info.hh.

◆ WORKBENCH_CURVATURE_VARIATIONS

#define WORKBENCH_CURVATURE_VARIATIONS ( prefix,
... )
Value:
prefix##_curvature, "workbench_resolve_curvature", __VA_ARGS__) \
WORKBENCH_RESOLVE_SHADOW_VARIATION(prefix##_no_curvature, __VA_ARGS__)
#define WORKBENCH_RESOLVE_SHADOW_VARIATION(prefix,...)

Definition at line 59 of file workbench_composite_info.hh.

◆ WORKBENCH_FINAL_VARIATION

#define WORKBENCH_FINAL_VARIATION ( name,
... )    GPU_SHADER_CREATE_INFO(name).additional_info(__VA_ARGS__).do_static_compilation(true);

Definition at line 52 of file workbench_composite_info.hh.

◆ WORKBENCH_LIGHTING_VARIATIONS

#define WORKBENCH_LIGHTING_VARIATIONS ( prefix,
... )
Value:
prefix##_opaque_studio, "workbench_resolve_opaque_studio", __VA_ARGS__) \
WORKBENCH_CAVITY_VARIATIONS( \
prefix##_opaque_matcap, "workbench_resolve_opaque_matcap", __VA_ARGS__) \
WORKBENCH_CAVITY_VARIATIONS(prefix##_opaque_flat, "workbench_resolve_opaque_flat", __VA_ARGS__)
#define WORKBENCH_CAVITY_VARIATIONS(prefix,...)

Definition at line 68 of file workbench_composite_info.hh.

◆ WORKBENCH_RESOLVE_SHADOW_VARIATION

#define WORKBENCH_RESOLVE_SHADOW_VARIATION ( prefix,
... )
Value:
WORKBENCH_FINAL_VARIATION(prefix##_shadow, "workbench_resolve_shadow", __VA_ARGS__) \
WORKBENCH_FINAL_VARIATION(prefix##_no_shadow, __VA_ARGS__)
#define WORKBENCH_FINAL_VARIATION(name,...)

Definition at line 55 of file workbench_composite_info.hh.

Function Documentation

◆ define() [1/4]

define ( "WORKBENCH_CAVITY" )

◆ define() [2/4]

define ( "WORKBENCH_CURVATURE" )

◆ define() [3/4]

define ( "WORKBENCH_LIGHTING_MATCAP" )

◆ define() [4/4]

define ( "WORKBENCH_SHADOW" )

◆ GPU_SHADER_CREATE_INFO() [1/2]

GPU_SHADER_CREATE_INFO ( workbench_resolve_opaque_flat )

◆ GPU_SHADER_CREATE_INFO() [2/2]

normal_tx world_data typedef_source("workbench_shader_shared.h") .push_constant(Type GPU_SHADER_CREATE_INFO ( workbench_resolve_opaque_studio )

◆ sampler() [1/2]

sampler ( 3 ,
ImageType::DEPTH_2D ,
"depth_tx"  )

◆ sampler() [2/2]

normal_tx sampler ( 5 ,
ImageType::FLOAT_2D ,
"material_tx"  )

◆ uniform_buf()

jitter_tx uniform_buf ( 5 ,
"vec4" ,
"cavity_samples" [512] )

◆ WORKBENCH_LIGHTING_VARIATIONS()

WORKBENCH_LIGHTING_VARIATIONS ( workbench_resolve ,
"workbench_composite"  )

Variable Documentation

◆ matcap_tx

matcap_tx

Definition at line 29 of file workbench_composite_info.hh.

Referenced by blender::workbench::get_matcap_tx().

◆ object_id_tx

object_id_tx

Definition at line 37 of file workbench_composite_info.hh.

◆ stencil_tx

stencil_tx

Definition at line 48 of file workbench_composite_info.hh.

◆ WorldData

normal_tx WorldData

Definition at line 16 of file workbench_composite_info.hh.