diff options
Diffstat (limited to 'source/blender/draw/engines/workbench/workbench_shader_shared.h')
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_shader_shared.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_shader_shared.h b/source/blender/draw/engines/workbench/workbench_shader_shared.h new file mode 100644 index 00000000000..42d38e54d9a --- /dev/null +++ b/source/blender/draw/engines/workbench/workbench_shader_shared.h @@ -0,0 +1,48 @@ + +#ifndef GPU_SHADER +# include "gpu_shader_shared_utils.h" +#endif + +#define WORKBENCH_SHADER_SHARED_H + +struct LightData { + float4 direction; + float4 specular_color; + float4 diffuse_color_wrap; /* rgb: diffuse col a: wrapped lighting factor */ +}; + +struct WorldData { + float4 viewport_size; + float4 object_outline_color; + float4 shadow_direction_vs; + float shadow_focus; + float shadow_shift; + float shadow_mul; + float shadow_add; + /* - 16 bytes alignment - */ + LightData lights[4]; + float4 ambient_color; + + int cavity_sample_start; + int cavity_sample_end; + float cavity_sample_count_inv; + float cavity_jitter_scale; + + float cavity_valley_factor; + float cavity_ridge_factor; + float cavity_attenuation; + float cavity_distance; + + float curvature_ridge; + float curvature_valley; + float ui_scale; + float _pad0; + + int matcap_orientation; + bool use_specular; + int _pad1; + int _pad2; +}; + +#define viewport_size_inv viewport_size.zw +#define packed_rough_metal roughness |