Go to the source code of this file.
|
| void | workbench_shader_library_ensure (void) |
| |
| static char * | workbench_build_defines (WORKBENCH_PrivateData *wpd, bool textured, bool tiled, bool cavity, bool curvature) |
| |
| static int | workbench_color_index (WORKBENCH_PrivateData *UNUSED(wpd), bool textured, bool tiled) |
| |
| static GPUShader * | workbench_shader_get_ex (WORKBENCH_PrivateData *wpd, bool transp, eWORKBENCH_DataType datatype, bool textured, bool tiled) |
| |
| GPUShader * | workbench_shader_opaque_get (WORKBENCH_PrivateData *wpd, eWORKBENCH_DataType datatype) |
| |
| GPUShader * | workbench_shader_opaque_image_get (WORKBENCH_PrivateData *wpd, eWORKBENCH_DataType datatype, bool tiled) |
| |
| GPUShader * | workbench_shader_transparent_get (WORKBENCH_PrivateData *wpd, eWORKBENCH_DataType datatype) |
| |
| GPUShader * | workbench_shader_transparent_image_get (WORKBENCH_PrivateData *wpd, eWORKBENCH_DataType datatype, bool tiled) |
| |
| GPUShader * | workbench_shader_composite_get (WORKBENCH_PrivateData *wpd) |
| |
| GPUShader * | workbench_shader_merge_infront_get (WORKBENCH_PrivateData *UNUSED(wpd)) |
| |
| GPUShader * | workbench_shader_transparent_resolve_get (WORKBENCH_PrivateData *wpd) |
| |
| static GPUShader * | workbench_shader_shadow_pass_get_ex (bool depth_pass, bool manifold, bool cap) |
| |
| GPUShader * | workbench_shader_shadow_pass_get (bool manifold) |
| |
| GPUShader * | workbench_shader_shadow_fail_get (bool manifold, bool cap) |
| |
| GPUShader * | workbench_shader_cavity_get (bool cavity, bool curvature) |
| |
| GPUShader * | workbench_shader_outline_get (void) |
| |
| void | workbench_shader_depth_of_field_get (GPUShader **prepare_sh, GPUShader **downsample_sh, GPUShader **blur1_sh, GPUShader **blur2_sh, GPUShader **resolve_sh) |
| |
| GPUShader * | workbench_shader_antialiasing_accumulation_get (void) |
| |
| GPUShader * | workbench_shader_antialiasing_get (int stage) |
| |
| GPUShader * | workbench_shader_volume_get (bool slice, bool coba, eWORKBENCH_VolumeInterpType interp_type, bool smoke) |
| |
| void | workbench_shader_free (void) |
| |
◆ MAX_COLOR
◆ MAX_LIGHTING
◆ VOLUME_SH_MAX
◆ anonymous enum
| Enumerator |
|---|
| VOLUME_SH_SLICE | |
| VOLUME_SH_COBA | |
| VOLUME_SH_CUBIC | |
Definition at line 82 of file workbench_shader.c.
◆ workbench_build_defines()
| static char* workbench_build_defines |
( |
WORKBENCH_PrivateData * |
wpd, |
|
|
bool |
textured, |
|
|
bool |
tiled, |
|
|
bool |
cavity, |
|
|
bool |
curvature |
|
) |
| |
|
static |
Definition at line 142 of file workbench_shader.c.
References BLI_dynstr_append(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), View3DShading::light, NORMAL_ENCODING_ENABLED, NULL, WORKBENCH_PrivateData::shading, str, V3D_LIGHTING_MATCAP, and V3D_LIGHTING_STUDIO.
Referenced by workbench_shader_cavity_get(), workbench_shader_composite_get(), workbench_shader_get_ex(), and workbench_shader_transparent_resolve_get().
◆ workbench_color_index()
◆ workbench_shader_antialiasing_accumulation_get()
| GPUShader* workbench_shader_antialiasing_accumulation_get |
( |
void |
| ) |
|
◆ workbench_shader_antialiasing_get()
| GPUShader* workbench_shader_antialiasing_get |
( |
int |
stage | ) |
|
◆ workbench_shader_cavity_get()
| GPUShader* workbench_shader_cavity_get |
( |
bool |
cavity, |
|
|
bool |
curvature |
|
) |
| |
◆ workbench_shader_composite_get()
Definition at line 262 of file workbench_shader.c.
References BLI_assert, datatoc_workbench_composite_frag_glsl, DRW_shader_create_fullscreen, DRW_shader_library_create_shader_string(), e_data, View3DShading::light, MAX_LIGHTING, MEM_freeN, NULL, shader(), WORKBENCH_PrivateData::shading, and workbench_build_defines().
Referenced by blender::draw::TEST_F(), and workbench_opaque_cache_init().
◆ workbench_shader_depth_of_field_get()
◆ workbench_shader_free()
| void workbench_shader_free |
( |
void |
| ) |
|
◆ workbench_shader_get_ex()
Definition at line 187 of file workbench_shader.c.
References BLI_assert, datatoc_workbench_prepass_frag_glsl, datatoc_workbench_prepass_hair_vert_glsl, datatoc_workbench_prepass_pointcloud_vert_glsl, datatoc_workbench_prepass_vert_glsl, datatoc_workbench_transparent_accum_frag_glsl, GPUShaderConfigData::def, DRW_shader_library_create_shader_string(), e_data, GPU_shader_cfg_data, GPU_shader_create_from_arrays, if(), GPUShaderConfigData::lib, View3DShading::light, MAX_LIGHTING, MEM_freeN, NULL, WORKBENCH_PrivateData::sh_cfg, shader(), WORKBENCH_PrivateData::shading, workbench_build_defines(), workbench_color_index(), WORKBENCH_DATATYPE_HAIR, and WORKBENCH_DATATYPE_POINTCLOUD.
Referenced by workbench_shader_opaque_get(), workbench_shader_opaque_image_get(), workbench_shader_transparent_get(), and workbench_shader_transparent_image_get().
◆ workbench_shader_library_ensure()
| void workbench_shader_library_ensure |
( |
void |
| ) |
|
◆ workbench_shader_merge_infront_get()
◆ workbench_shader_opaque_get()
◆ workbench_shader_opaque_image_get()
◆ workbench_shader_outline_get()
| GPUShader* workbench_shader_outline_get |
( |
void |
| ) |
|
◆ workbench_shader_shadow_fail_get()
| GPUShader* workbench_shader_shadow_fail_get |
( |
bool |
manifold, |
|
|
bool |
cap |
|
) |
| |
◆ workbench_shader_shadow_pass_get()
| GPUShader* workbench_shader_shadow_pass_get |
( |
bool |
manifold | ) |
|
◆ workbench_shader_shadow_pass_get_ex()
| static GPUShader* workbench_shader_shadow_pass_get_ex |
( |
bool |
depth_pass, |
|
|
bool |
manifold, |
|
|
bool |
cap |
|
) |
| |
|
static |
Definition at line 307 of file workbench_shader.c.
References datatoc_common_view_lib_glsl, datatoc_gpu_shader_depth_only_frag_glsl, datatoc_workbench_shadow_caps_geom_glsl, datatoc_workbench_shadow_debug_frag_glsl, datatoc_workbench_shadow_geom_glsl, datatoc_workbench_shadow_vert_glsl, e_data, GPU_shader_create_from_arrays, if(), NULL, and shader().
Referenced by workbench_shader_shadow_fail_get(), and workbench_shader_shadow_pass_get().
◆ workbench_shader_transparent_get()
◆ workbench_shader_transparent_image_get()
◆ workbench_shader_transparent_resolve_get()
◆ workbench_shader_volume_get()
Definition at line 466 of file workbench_shader.c.
References BLI_dynstr_append(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), datatoc_workbench_volume_frag_glsl, datatoc_workbench_volume_vert_glsl, DRW_shader_create, DRW_shader_library_create_shader_string(), e_data, MEM_freeN, NULL, shader(), WORKBENCH_VOLUME_INTERP_CLOSEST, WORKBENCH_VOLUME_INTERP_CUBIC, and WORKBENCH_VOLUME_INTERP_LINEAR.
Referenced by blender::draw::TEST_F(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
◆ aa_accum_sh
◆ cavity_sh
◆ datatoc_common_hair_lib_glsl
| char datatoc_common_hair_lib_glsl[] |
|
extern |
◆ datatoc_common_math_geom_lib_glsl
| char datatoc_common_math_geom_lib_glsl[] |
|
extern |
◆ datatoc_common_math_lib_glsl
| char datatoc_common_math_lib_glsl[] |
|
extern |
◆ datatoc_common_pointcloud_lib_glsl
| char datatoc_common_pointcloud_lib_glsl[] |
|
extern |
◆ datatoc_common_smaa_lib_glsl
| char datatoc_common_smaa_lib_glsl[] |
|
extern |
◆ datatoc_common_view_lib_glsl
| char datatoc_common_view_lib_glsl[] |
|
extern |
◆ datatoc_gpu_shader_common_obinfos_lib_glsl
| char datatoc_gpu_shader_common_obinfos_lib_glsl[] |
|
extern |
◆ datatoc_gpu_shader_depth_only_frag_glsl
| char datatoc_gpu_shader_depth_only_frag_glsl[] |
|
extern |
◆ datatoc_workbench_cavity_lib_glsl
| char datatoc_workbench_cavity_lib_glsl[] |
|
extern |
◆ datatoc_workbench_common_lib_glsl
| char datatoc_workbench_common_lib_glsl[] |
|
extern |
◆ datatoc_workbench_composite_frag_glsl
| char datatoc_workbench_composite_frag_glsl[] |
|
extern |
◆ datatoc_workbench_curvature_lib_glsl
| char datatoc_workbench_curvature_lib_glsl[] |
|
extern |
◆ datatoc_workbench_data_lib_glsl
| char datatoc_workbench_data_lib_glsl[] |
|
extern |
◆ datatoc_workbench_effect_cavity_frag_glsl
| char datatoc_workbench_effect_cavity_frag_glsl[] |
|
extern |
◆ datatoc_workbench_effect_dof_frag_glsl
| char datatoc_workbench_effect_dof_frag_glsl[] |
|
extern |
◆ datatoc_workbench_effect_outline_frag_glsl
| char datatoc_workbench_effect_outline_frag_glsl[] |
|
extern |
◆ datatoc_workbench_effect_smaa_frag_glsl
| char datatoc_workbench_effect_smaa_frag_glsl[] |
|
extern |
◆ datatoc_workbench_effect_smaa_vert_glsl
| char datatoc_workbench_effect_smaa_vert_glsl[] |
|
extern |
◆ datatoc_workbench_effect_taa_frag_glsl
| char datatoc_workbench_effect_taa_frag_glsl[] |
|
extern |
◆ datatoc_workbench_image_lib_glsl
| char datatoc_workbench_image_lib_glsl[] |
|
extern |
◆ datatoc_workbench_matcap_lib_glsl
| char datatoc_workbench_matcap_lib_glsl[] |
|
extern |
◆ datatoc_workbench_material_lib_glsl
| char datatoc_workbench_material_lib_glsl[] |
|
extern |
◆ datatoc_workbench_merge_infront_frag_glsl
| char datatoc_workbench_merge_infront_frag_glsl[] |
|
extern |
◆ datatoc_workbench_prepass_frag_glsl
| char datatoc_workbench_prepass_frag_glsl[] |
|
extern |
◆ datatoc_workbench_prepass_hair_vert_glsl
| char datatoc_workbench_prepass_hair_vert_glsl[] |
|
extern |
◆ datatoc_workbench_prepass_pointcloud_vert_glsl
| char datatoc_workbench_prepass_pointcloud_vert_glsl[] |
|
extern |
◆ datatoc_workbench_prepass_vert_glsl
| char datatoc_workbench_prepass_vert_glsl[] |
|
extern |
◆ datatoc_workbench_shader_interface_lib_glsl
| char datatoc_workbench_shader_interface_lib_glsl[] |
|
extern |
◆ datatoc_workbench_shadow_caps_geom_glsl
| char datatoc_workbench_shadow_caps_geom_glsl[] |
|
extern |
◆ datatoc_workbench_shadow_debug_frag_glsl
| char datatoc_workbench_shadow_debug_frag_glsl[] |
|
extern |
◆ datatoc_workbench_shadow_geom_glsl
| char datatoc_workbench_shadow_geom_glsl[] |
|
extern |
◆ datatoc_workbench_shadow_vert_glsl
| char datatoc_workbench_shadow_vert_glsl[] |
|
extern |
◆ datatoc_workbench_transparent_accum_frag_glsl
| char datatoc_workbench_transparent_accum_frag_glsl[] |
|
extern |
◆ datatoc_workbench_transparent_resolve_frag_glsl
| char datatoc_workbench_transparent_resolve_frag_glsl[] |
|
extern |
◆ datatoc_workbench_volume_frag_glsl
| char datatoc_workbench_volume_frag_glsl[] |
|
extern |
◆ datatoc_workbench_volume_vert_glsl
| char datatoc_workbench_volume_vert_glsl[] |
|
extern |
◆ datatoc_workbench_world_light_lib_glsl
| char datatoc_workbench_world_light_lib_glsl[] |
|
extern |
◆ dof_blur1_sh
◆ dof_blur2_sh
◆ dof_downsample_sh
◆ dof_prepare_sh
◆ dof_resolve_sh
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_library_ensure(), 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().
◆ lib
◆ merge_infront_sh
◆ oit_resolve_sh
◆ opaque_composite_sh
◆ opaque_prepass_sh_cache
◆ outline_sh
◆ shadow_depth_fail_sh
◆ shadow_depth_pass_sh
◆ smaa_sh
◆ transp_prepass_sh_cache
◆ volume_sh