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.