Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-04-17 07:17:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-04-17 07:21:24 +0300
commite12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch)
tree8cf3453d12edb177a218ef8009357518ec6cab6a /source/blender/draw/engines/eevee/eevee_shaders.c
parentb3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff)
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_shaders.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_shaders.c329
1 files changed, 157 insertions, 172 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_shaders.c b/source/blender/draw/engines/eevee/eevee_shaders.c
index f6479603a66..dbb43e16385 100644
--- a/source/blender/draw/engines/eevee/eevee_shaders.c
+++ b/source/blender/draw/engines/eevee/eevee_shaders.c
@@ -32,33 +32,33 @@
static const char *filter_defines = "#define HAMMERSLEY_SIZE " STRINGIFY(HAMMERSLEY_SIZE) "\n"
#if defined(IRRADIANCE_SH_L2)
- "#define IRRADIANCE_SH_L2\n"
+ "#define IRRADIANCE_SH_L2\n"
#elif defined(IRRADIANCE_CUBEMAP)
- "#define IRRADIANCE_CUBEMAP\n"
+ "#define IRRADIANCE_CUBEMAP\n"
#elif defined(IRRADIANCE_HL2)
- "#define IRRADIANCE_HL2\n"
+ "#define IRRADIANCE_HL2\n"
#endif
- "#define NOISE_SIZE 64\n";
+ "#define NOISE_SIZE 64\n";
static struct {
- /* Probes */
- struct GPUShader *probe_default_sh;
- struct GPUShader *probe_default_studiolight_sh;
- struct GPUShader *probe_grid_display_sh;
- struct GPUShader *probe_cube_display_sh;
- struct GPUShader *probe_planar_display_sh;
- struct GPUShader *probe_filter_glossy_sh;
- struct GPUShader *probe_filter_diffuse_sh;
- struct GPUShader *probe_filter_visibility_sh;
- struct GPUShader *probe_grid_fill_sh;
- struct GPUShader *probe_planar_downsample_sh;
-
- /* Velocity Resolve */
- struct GPUShader *velocity_resolve_sh;
-
- /* Temporal Anti Aliasing */
- struct GPUShader *taa_resolve_sh;
- struct GPUShader *taa_resolve_reproject_sh;
+ /* Probes */
+ struct GPUShader *probe_default_sh;
+ struct GPUShader *probe_default_studiolight_sh;
+ struct GPUShader *probe_grid_display_sh;
+ struct GPUShader *probe_cube_display_sh;
+ struct GPUShader *probe_planar_display_sh;
+ struct GPUShader *probe_filter_glossy_sh;
+ struct GPUShader *probe_filter_diffuse_sh;
+ struct GPUShader *probe_filter_visibility_sh;
+ struct GPUShader *probe_grid_fill_sh;
+ struct GPUShader *probe_planar_downsample_sh;
+
+ /* Velocity Resolve */
+ struct GPUShader *velocity_resolve_sh;
+
+ /* Temporal Anti Aliasing */
+ struct GPUShader *taa_resolve_sh;
+ struct GPUShader *taa_resolve_reproject_sh;
} e_data = {NULL}; /* Engine data */
@@ -94,223 +94,208 @@ extern char datatoc_effect_velocity_resolve_frag_glsl[];
/* Temporal Sampling */
extern char datatoc_effect_temporal_aa_glsl[];
-
/* *********** FUNCTIONS *********** */
void EEVEE_shaders_lightprobe_shaders_init(void)
{
- BLI_assert(e_data.probe_filter_glossy_sh == NULL);
- char *shader_str = NULL;
+ BLI_assert(e_data.probe_filter_glossy_sh == NULL);
+ char *shader_str = NULL;
- shader_str = BLI_string_joinN(
- datatoc_common_view_lib_glsl,
- datatoc_common_uniforms_lib_glsl,
- datatoc_bsdf_common_lib_glsl,
- datatoc_bsdf_sampling_lib_glsl,
- datatoc_lightprobe_filter_glossy_frag_glsl);
+ shader_str = BLI_string_joinN(datatoc_common_view_lib_glsl,
+ datatoc_common_uniforms_lib_glsl,
+ datatoc_bsdf_common_lib_glsl,
+ datatoc_bsdf_sampling_lib_glsl,
+ datatoc_lightprobe_filter_glossy_frag_glsl);
- e_data.probe_filter_glossy_sh = DRW_shader_create(
- datatoc_lightprobe_vert_glsl, datatoc_lightprobe_geom_glsl, shader_str, filter_defines);
+ e_data.probe_filter_glossy_sh = DRW_shader_create(
+ datatoc_lightprobe_vert_glsl, datatoc_lightprobe_geom_glsl, shader_str, filter_defines);
- e_data.probe_default_sh = DRW_shader_create(
- datatoc_background_vert_glsl, NULL, datatoc_default_world_frag_glsl, NULL);
+ e_data.probe_default_sh = DRW_shader_create(
+ datatoc_background_vert_glsl, NULL, datatoc_default_world_frag_glsl, NULL);
- MEM_freeN(shader_str);
+ MEM_freeN(shader_str);
- shader_str = BLI_string_joinN(
- datatoc_common_view_lib_glsl,
- datatoc_common_uniforms_lib_glsl,
- datatoc_bsdf_common_lib_glsl,
- datatoc_bsdf_sampling_lib_glsl,
- datatoc_lightprobe_filter_diffuse_frag_glsl);
+ shader_str = BLI_string_joinN(datatoc_common_view_lib_glsl,
+ datatoc_common_uniforms_lib_glsl,
+ datatoc_bsdf_common_lib_glsl,
+ datatoc_bsdf_sampling_lib_glsl,
+ datatoc_lightprobe_filter_diffuse_frag_glsl);
- e_data.probe_filter_diffuse_sh = DRW_shader_create_fullscreen(shader_str, filter_defines);
+ e_data.probe_filter_diffuse_sh = DRW_shader_create_fullscreen(shader_str, filter_defines);
- MEM_freeN(shader_str);
+ MEM_freeN(shader_str);
- shader_str = BLI_string_joinN(
- datatoc_common_view_lib_glsl,
- datatoc_common_uniforms_lib_glsl,
- datatoc_bsdf_common_lib_glsl,
- datatoc_bsdf_sampling_lib_glsl,
- datatoc_lightprobe_filter_visibility_frag_glsl);
+ shader_str = BLI_string_joinN(datatoc_common_view_lib_glsl,
+ datatoc_common_uniforms_lib_glsl,
+ datatoc_bsdf_common_lib_glsl,
+ datatoc_bsdf_sampling_lib_glsl,
+ datatoc_lightprobe_filter_visibility_frag_glsl);
- e_data.probe_filter_visibility_sh = DRW_shader_create_fullscreen(shader_str, filter_defines);
+ e_data.probe_filter_visibility_sh = DRW_shader_create_fullscreen(shader_str, filter_defines);
- MEM_freeN(shader_str);
+ MEM_freeN(shader_str);
- e_data.probe_grid_fill_sh = DRW_shader_create_fullscreen(
- datatoc_lightprobe_grid_fill_frag_glsl, filter_defines);
+ e_data.probe_grid_fill_sh = DRW_shader_create_fullscreen(datatoc_lightprobe_grid_fill_frag_glsl,
+ filter_defines);
- e_data.probe_planar_downsample_sh = DRW_shader_create(
- datatoc_lightprobe_planar_downsample_vert_glsl,
- datatoc_lightprobe_planar_downsample_geom_glsl,
- datatoc_lightprobe_planar_downsample_frag_glsl,
- NULL);
+ e_data.probe_planar_downsample_sh = DRW_shader_create(
+ datatoc_lightprobe_planar_downsample_vert_glsl,
+ datatoc_lightprobe_planar_downsample_geom_glsl,
+ datatoc_lightprobe_planar_downsample_frag_glsl,
+ NULL);
}
GPUShader *EEVEE_shaders_probe_filter_glossy_sh_get(void)
{
- return e_data.probe_filter_glossy_sh;
+ return e_data.probe_filter_glossy_sh;
}
GPUShader *EEVEE_shaders_probe_default_sh_get(void)
{
- return e_data.probe_default_sh;
+ return e_data.probe_default_sh;
}
GPUShader *EEVEE_shaders_probe_filter_diffuse_sh_get(void)
{
- return e_data.probe_filter_diffuse_sh;
+ return e_data.probe_filter_diffuse_sh;
}
GPUShader *EEVEE_shaders_probe_filter_visibility_sh_get(void)
{
- return e_data.probe_filter_visibility_sh;
+ return e_data.probe_filter_visibility_sh;
}
GPUShader *EEVEE_shaders_probe_grid_fill_sh_get(void)
{
- return e_data.probe_grid_fill_sh;
+ return e_data.probe_grid_fill_sh;
}
GPUShader *EEVEE_shaders_probe_planar_downsample_sh_get(void)
{
- return e_data.probe_planar_downsample_sh;
+ return e_data.probe_planar_downsample_sh;
}
GPUShader *EEVEE_shaders_default_studiolight_sh_get(void)
{
- if (e_data.probe_default_studiolight_sh == NULL) {
- e_data.probe_default_studiolight_sh = DRW_shader_create(
- datatoc_background_vert_glsl, NULL, datatoc_default_world_frag_glsl, "#define LOOKDEV\n");
- }
- return e_data.probe_default_studiolight_sh;
+ if (e_data.probe_default_studiolight_sh == NULL) {
+ e_data.probe_default_studiolight_sh = DRW_shader_create(
+ datatoc_background_vert_glsl, NULL, datatoc_default_world_frag_glsl, "#define LOOKDEV\n");
+ }
+ return e_data.probe_default_studiolight_sh;
}
GPUShader *EEVEE_shaders_probe_cube_display_sh_get(void)
{
- if (e_data.probe_cube_display_sh == NULL) {
- char *shader_str = BLI_string_joinN(
- datatoc_octahedron_lib_glsl,
- datatoc_common_view_lib_glsl,
- datatoc_common_uniforms_lib_glsl,
- datatoc_bsdf_common_lib_glsl,
- datatoc_lightprobe_lib_glsl,
- datatoc_lightprobe_cube_display_frag_glsl);
-
- char *vert_str = BLI_string_joinN(
- datatoc_common_view_lib_glsl,
- datatoc_lightprobe_cube_display_vert_glsl);
-
- e_data.probe_cube_display_sh = DRW_shader_create(vert_str, NULL, shader_str, SHADER_DEFINES);
-
- MEM_freeN(vert_str);
- MEM_freeN(shader_str);
- }
- return e_data.probe_cube_display_sh;
+ if (e_data.probe_cube_display_sh == NULL) {
+ char *shader_str = BLI_string_joinN(datatoc_octahedron_lib_glsl,
+ datatoc_common_view_lib_glsl,
+ datatoc_common_uniforms_lib_glsl,
+ datatoc_bsdf_common_lib_glsl,
+ datatoc_lightprobe_lib_glsl,
+ datatoc_lightprobe_cube_display_frag_glsl);
+
+ char *vert_str = BLI_string_joinN(datatoc_common_view_lib_glsl,
+ datatoc_lightprobe_cube_display_vert_glsl);
+
+ e_data.probe_cube_display_sh = DRW_shader_create(vert_str, NULL, shader_str, SHADER_DEFINES);
+
+ MEM_freeN(vert_str);
+ MEM_freeN(shader_str);
+ }
+ return e_data.probe_cube_display_sh;
}
- GPUShader *EEVEE_shaders_probe_grid_display_sh_get(void)
+GPUShader *EEVEE_shaders_probe_grid_display_sh_get(void)
{
- if (e_data.probe_grid_display_sh == NULL ) {
- char *shader_str = BLI_string_joinN(
- datatoc_octahedron_lib_glsl,
- datatoc_common_view_lib_glsl,
- datatoc_common_uniforms_lib_glsl,
- datatoc_bsdf_common_lib_glsl,
- datatoc_irradiance_lib_glsl,
- datatoc_lightprobe_lib_glsl,
- datatoc_lightprobe_grid_display_frag_glsl);
-
- char *vert_str = BLI_string_joinN(
- datatoc_common_view_lib_glsl,
- datatoc_lightprobe_grid_display_vert_glsl);
-
- e_data.probe_grid_display_sh = DRW_shader_create(vert_str, NULL, shader_str, filter_defines);
-
- MEM_freeN(vert_str);
- MEM_freeN(shader_str);
- }
- return e_data.probe_grid_display_sh;
+ if (e_data.probe_grid_display_sh == NULL) {
+ char *shader_str = BLI_string_joinN(datatoc_octahedron_lib_glsl,
+ datatoc_common_view_lib_glsl,
+ datatoc_common_uniforms_lib_glsl,
+ datatoc_bsdf_common_lib_glsl,
+ datatoc_irradiance_lib_glsl,
+ datatoc_lightprobe_lib_glsl,
+ datatoc_lightprobe_grid_display_frag_glsl);
+
+ char *vert_str = BLI_string_joinN(datatoc_common_view_lib_glsl,
+ datatoc_lightprobe_grid_display_vert_glsl);
+
+ e_data.probe_grid_display_sh = DRW_shader_create(vert_str, NULL, shader_str, filter_defines);
+
+ MEM_freeN(vert_str);
+ MEM_freeN(shader_str);
+ }
+ return e_data.probe_grid_display_sh;
}
- GPUShader *EEVEE_shaders_probe_planar_display_sh_get(void)
+GPUShader *EEVEE_shaders_probe_planar_display_sh_get(void)
{
- if (e_data.probe_planar_display_sh == NULL) {
- char *vert_str = BLI_string_joinN(
- datatoc_common_view_lib_glsl,
- datatoc_lightprobe_planar_display_vert_glsl);
+ if (e_data.probe_planar_display_sh == NULL) {
+ char *vert_str = BLI_string_joinN(datatoc_common_view_lib_glsl,
+ datatoc_lightprobe_planar_display_vert_glsl);
- char *shader_str = BLI_string_joinN(
- datatoc_common_view_lib_glsl,
- datatoc_lightprobe_planar_display_frag_glsl);
+ char *shader_str = BLI_string_joinN(datatoc_common_view_lib_glsl,
+ datatoc_lightprobe_planar_display_frag_glsl);
- e_data.probe_planar_display_sh = DRW_shader_create(vert_str, NULL, shader_str, NULL);
+ e_data.probe_planar_display_sh = DRW_shader_create(vert_str, NULL, shader_str, NULL);
- MEM_freeN(vert_str);
- MEM_freeN(shader_str);
- }
- return e_data.probe_planar_display_sh;
+ MEM_freeN(vert_str);
+ MEM_freeN(shader_str);
+ }
+ return e_data.probe_planar_display_sh;
}
GPUShader *EEVEE_shaders_velocity_resolve_sh_get(void)
{
- if (e_data.velocity_resolve_sh == NULL) {
- char *frag_str = BLI_string_joinN(
- datatoc_common_uniforms_lib_glsl,
- datatoc_common_view_lib_glsl,
- datatoc_bsdf_common_lib_glsl,
- datatoc_effect_velocity_resolve_frag_glsl);
-
- e_data.velocity_resolve_sh = DRW_shader_create_fullscreen(frag_str, NULL);
-
- MEM_freeN(frag_str);
- }
- return e_data.velocity_resolve_sh;
+ if (e_data.velocity_resolve_sh == NULL) {
+ char *frag_str = BLI_string_joinN(datatoc_common_uniforms_lib_glsl,
+ datatoc_common_view_lib_glsl,
+ datatoc_bsdf_common_lib_glsl,
+ datatoc_effect_velocity_resolve_frag_glsl);
+
+ e_data.velocity_resolve_sh = DRW_shader_create_fullscreen(frag_str, NULL);
+
+ MEM_freeN(frag_str);
+ }
+ return e_data.velocity_resolve_sh;
}
GPUShader *EEVEE_shaders_taa_resolve_sh_get(EEVEE_EffectsFlag enabled_effects)
{
- GPUShader **sh;
- const char *define = NULL;
- if (enabled_effects & EFFECT_TAA_REPROJECT) {
- sh = &e_data.taa_resolve_reproject_sh;
- define = "#define USE_REPROJECTION\n";
-
-
-
- }
- else {
- sh = &e_data.taa_resolve_sh;
- }
- if (*sh == NULL) {
- char *frag_str = BLI_string_joinN(
- datatoc_common_uniforms_lib_glsl,
- datatoc_common_view_lib_glsl,
- datatoc_bsdf_common_lib_glsl,
- datatoc_effect_temporal_aa_glsl);
-
- *sh = DRW_shader_create_fullscreen(frag_str, define);
- MEM_freeN(frag_str);
- }
-
- return *sh;
+ GPUShader **sh;
+ const char *define = NULL;
+ if (enabled_effects & EFFECT_TAA_REPROJECT) {
+ sh = &e_data.taa_resolve_reproject_sh;
+ define = "#define USE_REPROJECTION\n";
+ }
+ else {
+ sh = &e_data.taa_resolve_sh;
+ }
+ if (*sh == NULL) {
+ char *frag_str = BLI_string_joinN(datatoc_common_uniforms_lib_glsl,
+ datatoc_common_view_lib_glsl,
+ datatoc_bsdf_common_lib_glsl,
+ datatoc_effect_temporal_aa_glsl);
+
+ *sh = DRW_shader_create_fullscreen(frag_str, define);
+ MEM_freeN(frag_str);
+ }
+
+ return *sh;
}
void EEVEE_shaders_free(void)
{
- 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_diffuse_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_planar_downsample_sh);
- DRW_SHADER_FREE_SAFE(e_data.probe_default_studiolight_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_planar_display_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_reproject_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_diffuse_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_planar_downsample_sh);
+ DRW_SHADER_FREE_SAFE(e_data.probe_default_studiolight_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_planar_display_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_reproject_sh);
}