diff options
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders/infos/workbench_composite_info.hh')
-rw-r--r-- | source/blender/draw/engines/workbench/shaders/infos/workbench_composite_info.hh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/source/blender/draw/engines/workbench/shaders/infos/workbench_composite_info.hh b/source/blender/draw/engines/workbench/shaders/infos/workbench_composite_info.hh new file mode 100644 index 00000000000..030be382a14 --- /dev/null +++ b/source/blender/draw/engines/workbench/shaders/infos/workbench_composite_info.hh @@ -0,0 +1,41 @@ + +#include "gpu_shader_create_info.hh" + +/* -------------------------------------------------------------------- */ +/** \name Base Composite + * \{ */ + +GPU_SHADER_CREATE_INFO(workbench_composite) + .sampler(0, ImageType::FLOAT_2D, "normalBuffer", Frequency::PASS) + .sampler(1, ImageType::FLOAT_2D, "materialBuffer", Frequency::PASS) + .uniform_buf(4, "WorldData", "world_data", Frequency::PASS) + .push_constant(0, Type::BOOL, "forceShadowing") + .fragment_out(0, Type::VEC4, "fragColor") + .typedef_source("workbench_shader_shared.h") + .fragment_source("workbench_composite_frag.glsl") + .additional_info("draw_fullscreen"); + +/** \} */ + +/* -------------------------------------------------------------------- */ +/** \name Lighting Type + * \{ */ + +GPU_SHADER_CREATE_INFO(workbench_composite_studio) + .define("V3D_LIGHTING_STUDIO") + .additional_info("workbench_composite") + .do_static_compilation(true); + +GPU_SHADER_CREATE_INFO(workbench_composite_matcap) + .define("V3D_LIGHTING_MATCAP") + .sampler(2, ImageType::FLOAT_2D, "matcap_diffuse_tx", Frequency::PASS) + .sampler(3, ImageType::FLOAT_2D, "matcap_specular_tx", Frequency::PASS) + .additional_info("workbench_composite") + .do_static_compilation(true); + +GPU_SHADER_CREATE_INFO(workbench_composite_flat) + .define("V3D_LIGHTING_FLAT") + .additional_info("workbench_composite") + .do_static_compilation(true); + +/** \} */ |