Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/eevee/eevee_shaders.c
| Show All 38 Lines | #elif defined(IRRADIANCE_HL2) | ||||
| "#define IRRADIANCE_HL2\n" | "#define IRRADIANCE_HL2\n" | ||||
| #endif | #endif | ||||
| "#define NOISE_SIZE 64\n"; | "#define NOISE_SIZE 64\n"; | ||||
| static struct { | static struct { | ||||
| /* Probes */ | /* Probes */ | ||||
| struct GPUShader *probe_default_sh; | struct GPUShader *probe_default_sh; | ||||
| struct GPUShader *probe_default_studiolight_sh; | struct GPUShader *probe_default_studiolight_sh; | ||||
| struct GPUShader *probe_background_studiolight_sh; | |||||
| struct GPUShader *probe_grid_display_sh; | struct GPUShader *probe_grid_display_sh; | ||||
| struct GPUShader *probe_cube_display_sh; | struct GPUShader *probe_cube_display_sh; | ||||
| struct GPUShader *probe_planar_display_sh; | struct GPUShader *probe_planar_display_sh; | ||||
| struct GPUShader *probe_filter_glossy_sh; | struct GPUShader *probe_filter_glossy_sh; | ||||
| struct GPUShader *probe_filter_diffuse_sh; | struct GPUShader *probe_filter_diffuse_sh; | ||||
| struct GPUShader *probe_filter_visibility_sh; | struct GPUShader *probe_filter_visibility_sh; | ||||
| struct GPUShader *probe_grid_fill_sh; | struct GPUShader *probe_grid_fill_sh; | ||||
| struct GPUShader *probe_planar_downsample_sh; | struct GPUShader *probe_planar_downsample_sh; | ||||
| ▲ Show 20 Lines • Show All 131 Lines • ▼ Show 20 Lines | e_data.probe_default_studiolight_sh = DRW_shader_create_with_lib( | ||||
| NULL, | NULL, | ||||
| datatoc_default_world_frag_glsl, | datatoc_default_world_frag_glsl, | ||||
| datatoc_common_view_lib_glsl, | datatoc_common_view_lib_glsl, | ||||
| "#define LOOKDEV\n"); | "#define LOOKDEV\n"); | ||||
| } | } | ||||
| return e_data.probe_default_studiolight_sh; | return e_data.probe_default_studiolight_sh; | ||||
| } | } | ||||
| GPUShader *EEVEE_shaders_background_studiolight_sh_get(void) | |||||
| { | |||||
| if (e_data.probe_background_studiolight_sh == NULL) { | |||||
| char *frag_str = BLI_string_joinN(datatoc_octahedron_lib_glsl, | |||||
| datatoc_common_uniforms_lib_glsl, | |||||
| datatoc_bsdf_common_lib_glsl, | |||||
| datatoc_lightprobe_lib_glsl, | |||||
| datatoc_default_world_frag_glsl); | |||||
| e_data.probe_background_studiolight_sh = DRW_shader_create_with_lib( | |||||
| datatoc_background_vert_glsl, | |||||
| NULL, | |||||
| frag_str, | |||||
| datatoc_common_view_lib_glsl, | |||||
| "#define LOOKDEV_BG\n" SHADER_DEFINES); | |||||
| MEM_freeN(frag_str); | |||||
| } | |||||
| return e_data.probe_background_studiolight_sh; | |||||
| } | |||||
| GPUShader *EEVEE_shaders_probe_cube_display_sh_get(void) | GPUShader *EEVEE_shaders_probe_cube_display_sh_get(void) | ||||
| { | { | ||||
| if (e_data.probe_cube_display_sh == NULL) { | if (e_data.probe_cube_display_sh == NULL) { | ||||
| char *shader_str = BLI_string_joinN(datatoc_octahedron_lib_glsl, | char *shader_str = BLI_string_joinN(datatoc_octahedron_lib_glsl, | ||||
| datatoc_common_view_lib_glsl, | datatoc_common_view_lib_glsl, | ||||
| datatoc_common_uniforms_lib_glsl, | datatoc_common_uniforms_lib_glsl, | ||||
| datatoc_bsdf_common_lib_glsl, | datatoc_bsdf_common_lib_glsl, | ||||
| datatoc_lightprobe_lib_glsl, | datatoc_lightprobe_lib_glsl, | ||||
| ▲ Show 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
| { | { | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_default_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_default_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_filter_glossy_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_filter_glossy_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_filter_diffuse_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_filter_diffuse_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_filter_visibility_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_filter_visibility_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_grid_fill_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_grid_fill_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_planar_downsample_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_planar_downsample_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_default_studiolight_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_default_studiolight_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_background_studiolight_sh); | |||||
| DRW_SHADER_FREE_SAFE(e_data.probe_grid_display_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_grid_display_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_cube_display_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_cube_display_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.probe_planar_display_sh); | DRW_SHADER_FREE_SAFE(e_data.probe_planar_display_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.velocity_resolve_sh); | DRW_SHADER_FREE_SAFE(e_data.velocity_resolve_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.taa_resolve_sh); | DRW_SHADER_FREE_SAFE(e_data.taa_resolve_sh); | ||||
| DRW_SHADER_FREE_SAFE(e_data.taa_resolve_reproject_sh); | DRW_SHADER_FREE_SAFE(e_data.taa_resolve_reproject_sh); | ||||
| } | } | ||||