|
Blender
V3.3
|
#include "DRW_render.h"#include <string>#include "workbench_engine.h"#include "workbench_private.h"Go to the source code of this file.
Macros | |
| #define | MAX_LIGHTING 3 |
Enumerations | |
| enum | eWORKBENCH_TextureType { TEXTURE_SH_NONE = 0 , TEXTURE_SH_SINGLE , TEXTURE_SH_TILED , TEXTURE_SH_MAX } |
Variables | |
| struct { | |
| struct GPUShader * opaque_prepass_sh_cache [GPU_SHADER_CFG_LEN][WORKBENCH_DATATYPE_MAX][TEXTURE_SH_MAX] | |
| struct GPUShader * transp_prepass_sh_cache [GPU_SHADER_CFG_LEN][WORKBENCH_DATATYPE_MAX][MAX_LIGHTING][TEXTURE_SH_MAX] | |
| struct GPUShader * opaque_composite_sh [MAX_LIGHTING] | |
| struct GPUShader * oit_resolve_sh | |
| struct GPUShader * outline_sh | |
| struct GPUShader * merge_infront_sh | |
| struct GPUShader * shadow_depth_pass_sh [2] | |
| struct GPUShader * shadow_depth_fail_sh [2][2] | |
| struct GPUShader * cavity_sh [2][2] | |
| struct GPUShader * dof_prepare_sh | |
| struct GPUShader * dof_downsample_sh | |
| struct GPUShader * dof_blur1_sh | |
| struct GPUShader * dof_blur2_sh | |
| struct GPUShader * dof_resolve_sh | |
| struct GPUShader * aa_accum_sh | |
| struct GPUShader * smaa_sh [3] | |
| struct GPUShader * volume_sh [2][2][3][2] | |
| } | e_data = {{{{nullptr}}}} |
| #define MAX_LIGHTING 3 |
Definition at line 16 of file workbench_shader.cc.
| Enumerator | |
|---|---|
| TEXTURE_SH_NONE | |
| TEXTURE_SH_SINGLE | |
| TEXTURE_SH_TILED | |
| TEXTURE_SH_MAX | |
Definition at line 18 of file workbench_shader.cc.
|
static |
Definition at line 74 of file workbench_shader.cc.
References ATTR_FALLTHROUGH, BLI_assert_msg, WORKBENCH_DATATYPE_HAIR, WORKBENCH_DATATYPE_MESH, and WORKBENCH_DATATYPE_POINTCLOUD.
Referenced by workbench_shader_get_ex().
|
static |
Definition at line 58 of file workbench_shader.cc.
References ATTR_FALLTHROUGH, BLI_assert_msg, V3D_LIGHTING_FLAT, V3D_LIGHTING_MATCAP, and V3D_LIGHTING_STUDIO.
Referenced by workbench_shader_composite_get(), and workbench_shader_get_ex().
Definition at line 290 of file workbench_shader.cc.
References e_data, and GPU_shader_create_from_info_name().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_antialiasing_cache_init().
| GPUShader* workbench_shader_antialiasing_get | ( | int | stage | ) |
Definition at line 298 of file workbench_shader.cc.
References BLI_assert, e_data, GPU_shader_create_from_info_name(), stage, and std::to_string().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_antialiasing_cache_init().
Definition at line 241 of file workbench_shader.cc.
References BLI_assert, e_data, and GPU_shader_create_from_info_name().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_cavity_cache_init().
| GPUShader* workbench_shader_composite_get | ( | WORKBENCH_PrivateData * | wpd | ) |
Definition at line 183 of file workbench_shader.cc.
References BLI_assert, e_data, GPU_shader_create_from_info_name(), View3DShading::light, MAX_LIGHTING, WORKBENCH_PrivateData::shading, and workbench_lighting_mode_to_str().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_opaque_cache_init().
| void workbench_shader_depth_of_field_get | ( | GPUShader ** | prepare_sh, |
| GPUShader ** | downsample_sh, | ||
| GPUShader ** | blur1_sh, | ||
| GPUShader ** | blur2_sh, | ||
| GPUShader ** | resolve_sh | ||
| ) |
Definition at line 263 of file workbench_shader.cc.
References downsample_sh, e_data, and GPU_shader_create_from_info_name().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_dof_cache_init().
Definition at line 335 of file workbench_shader.cc.
References ARRAY_SIZE, DRW_SHADER_FREE_SAFE, and e_data.
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_engine_free().
|
static |
Definition at line 130 of file workbench_shader.cc.
References BLI_assert, e_data, GPU_SHADER_CFG_CLIPPED, GPU_shader_create_from_info_name(), if(), View3DShading::light, MAX_LIGHTING, WORKBENCH_PrivateData::sh_cfg, WORKBENCH_PrivateData::shading, workbench_datatype_mode_to_str(), workbench_lighting_mode_to_str(), workbench_texture_type_get(), and workbench_texture_type_to_str().
Referenced by workbench_shader_opaque_get(), workbench_shader_opaque_image_get(), workbench_shader_transparent_get(), and workbench_shader_transparent_image_get().
| GPUShader* workbench_shader_merge_infront_get | ( | WORKBENCH_PrivateData * | UNUSEDwpd | ) |
Definition at line 197 of file workbench_shader.cc.
References e_data, and GPU_shader_create_from_info_name().
| GPUShader* workbench_shader_opaque_get | ( | WORKBENCH_PrivateData * | wpd, |
| eWORKBENCH_DataType | datatype | ||
| ) |
Definition at line 158 of file workbench_shader.cc.
References workbench_shader_get_ex().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_opaque_cache_init().
| GPUShader* workbench_shader_opaque_image_get | ( | WORKBENCH_PrivateData * | wpd, |
| eWORKBENCH_DataType | datatype, | ||
| bool | tiled | ||
| ) |
Definition at line 163 of file workbench_shader.cc.
References workbench_shader_get_ex().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_opaque_cache_init().
Definition at line 255 of file workbench_shader.cc.
References e_data, and GPU_shader_create_from_info_name().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_outline_cache_init().
Definition at line 236 of file workbench_shader.cc.
References workbench_shader_shadow_pass_get_ex().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_shadow_cache_init().
Definition at line 231 of file workbench_shader.cc.
References workbench_shader_shadow_pass_get_ex().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_shadow_cache_init().
|
static |
Definition at line 213 of file workbench_shader.cc.
References e_data, GPU_shader_create_from_info_name(), and if().
Referenced by workbench_shader_shadow_fail_get(), and workbench_shader_shadow_pass_get().
| GPUShader* workbench_shader_transparent_get | ( | WORKBENCH_PrivateData * | wpd, |
| eWORKBENCH_DataType | datatype | ||
| ) |
Definition at line 170 of file workbench_shader.cc.
References workbench_shader_get_ex().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_transparent_cache_init().
| GPUShader* workbench_shader_transparent_image_get | ( | WORKBENCH_PrivateData * | wpd, |
| eWORKBENCH_DataType | datatype, | ||
| bool | tiled | ||
| ) |
Definition at line 176 of file workbench_shader.cc.
References workbench_shader_get_ex().
Referenced by blender::draw::test_workbench_glsl_shaders(), and workbench_transparent_cache_init().
| GPUShader* workbench_shader_transparent_resolve_get | ( | WORKBENCH_PrivateData * | UNUSEDwpd | ) |
Definition at line 205 of file workbench_shader.cc.
References e_data, and GPU_shader_create_from_info_name().
| GPUShader* workbench_shader_volume_get | ( | bool | slice, |
| bool | coba, | ||
| eWORKBENCH_VolumeInterpType | interp_type, | ||
| bool | smoke | ||
| ) |
Definition at line 311 of file workbench_shader.cc.
References e_data, GPU_shader_create_from_info_name(), and workbench_volume_interp_to_str().
Referenced by blender::draw::test_workbench_glsl_shaders(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
|
static |
Definition at line 119 of file workbench_shader.cc.
References TEXTURE_SH_NONE, TEXTURE_SH_SINGLE, and TEXTURE_SH_TILED.
Referenced by workbench_shader_get_ex().
|
static |
Definition at line 104 of file workbench_shader.cc.
References ATTR_FALLTHROUGH, BLI_assert_msg, TEXTURE_SH_NONE, TEXTURE_SH_SINGLE, and TEXTURE_SH_TILED.
Referenced by workbench_shader_get_ex().
|
static |
Definition at line 89 of file workbench_shader.cc.
References ATTR_FALLTHROUGH, BLI_assert_msg, WORKBENCH_VOLUME_INTERP_CLOSEST, WORKBENCH_VOLUME_INTERP_CUBIC, and WORKBENCH_VOLUME_INTERP_LINEAR.
Referenced by workbench_shader_volume_get().
| struct GPUShader* aa_accum_sh |
Definition at line 47 of file workbench_shader.cc.
| struct GPUShader* cavity_sh[2][2] |
Definition at line 39 of file workbench_shader.cc.
| struct GPUShader* dof_blur1_sh |
Definition at line 43 of file workbench_shader.cc.
Referenced by blender::draw::test_workbench_glsl_shaders().
| struct GPUShader* dof_blur2_sh |
Definition at line 44 of file workbench_shader.cc.
Referenced by blender::draw::test_workbench_glsl_shaders().
| struct GPUShader* dof_downsample_sh |
Definition at line 42 of file workbench_shader.cc.
| struct GPUShader* dof_prepare_sh |
Definition at line 41 of file workbench_shader.cc.
Referenced by blender::draw::test_workbench_glsl_shaders().
| struct GPUShader* dof_resolve_sh |
Definition at line 45 of file workbench_shader.cc.
| struct { ... } e_data |
Referenced by workbench_shader_antialiasing_accumulation_get(), workbench_shader_antialiasing_get(), workbench_shader_cavity_get(), workbench_shader_composite_get(), workbench_shader_depth_of_field_get(), workbench_shader_free(), workbench_shader_get_ex(), workbench_shader_merge_infront_get(), workbench_shader_outline_get(), workbench_shader_shadow_pass_get_ex(), workbench_shader_transparent_resolve_get(), and workbench_shader_volume_get().
| struct GPUShader* merge_infront_sh |
Definition at line 34 of file workbench_shader.cc.
| struct GPUShader* oit_resolve_sh |
Definition at line 32 of file workbench_shader.cc.
| struct GPUShader* opaque_composite_sh[MAX_LIGHTING] |
Definition at line 31 of file workbench_shader.cc.
| struct GPUShader* opaque_prepass_sh_cache[GPU_SHADER_CFG_LEN][WORKBENCH_DATATYPE_MAX][TEXTURE_SH_MAX] |
Definition at line 27 of file workbench_shader.cc.
| struct GPUShader* outline_sh |
Definition at line 33 of file workbench_shader.cc.
| struct GPUShader* shadow_depth_fail_sh[2][2] |
Definition at line 37 of file workbench_shader.cc.
| struct GPUShader* shadow_depth_pass_sh[2] |
Definition at line 36 of file workbench_shader.cc.
| struct GPUShader* smaa_sh[3] |
Definition at line 48 of file workbench_shader.cc.
| struct GPUShader* transp_prepass_sh_cache[GPU_SHADER_CFG_LEN][WORKBENCH_DATATYPE_MAX][MAX_LIGHTING][TEXTURE_SH_MAX] |
Definition at line 28 of file workbench_shader.cc.
| struct GPUShader* volume_sh[2][2][3][2] |
Definition at line 50 of file workbench_shader.cc.