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/shaders/lightprobe_filter_glossy_frag.glsl
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/shaders/lightprobe_filter_glossy_frag.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl113
1 files changed, 57 insertions, 56 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl b/source/blender/draw/engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl
index fdfee54f368..06c31272ecd 100644
--- a/source/blender/draw/engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl
@@ -14,85 +14,86 @@ out vec4 FragColor;
float brightness(vec3 c)
{
- return max(max(c.r, c.g), c.b);
+ return max(max(c.r, c.g), c.b);
}
vec3 octahedral_to_cubemap_proj(vec2 co)
{
- co = co * 2.0 - 1.0;
+ co = co * 2.0 - 1.0;
- vec2 abs_co = abs(co);
- vec3 v = vec3(co, 1.0 - (abs_co.x + abs_co.y));
+ vec2 abs_co = abs(co);
+ vec3 v = vec3(co, 1.0 - (abs_co.x + abs_co.y));
- if ( abs_co.x + abs_co.y > 1.0 ) {
- v.xy = (abs(co.yx) - 1.0) * -sign(co.xy);
- }
+ if (abs_co.x + abs_co.y > 1.0) {
+ v.xy = (abs(co.yx) - 1.0) * -sign(co.xy);
+ }
- return v;
+ return v;
}
-void main() {
- vec2 uvs = gl_FragCoord.xy * texelSize;
+void main()
+{
+ vec2 uvs = gl_FragCoord.xy * texelSize;
- /* Add a N pixel border to ensure filtering is correct
- * for N mipmap levels. */
- uvs = (uvs - paddingSize) / (1.0 - 2.0 * paddingSize);
+ /* Add a N pixel border to ensure filtering is correct
+ * for N mipmap levels. */
+ uvs = (uvs - paddingSize) / (1.0 - 2.0 * paddingSize);
- /* edge mirroring : only mirror if directly adjacent
- * (not diagonally adjacent) */
- vec2 m = abs(uvs - 0.5) + 0.5;
- vec2 f = floor(m);
- if (f.x - f.y != 0.0) {
- uvs = 1.0 - uvs;
- }
+ /* edge mirroring : only mirror if directly adjacent
+ * (not diagonally adjacent) */
+ vec2 m = abs(uvs - 0.5) + 0.5;
+ vec2 f = floor(m);
+ if (f.x - f.y != 0.0) {
+ uvs = 1.0 - uvs;
+ }
- /* clamp to [0-1] */
- uvs = fract(uvs);
+ /* clamp to [0-1] */
+ uvs = fract(uvs);
- /* get cubemap vector */
- vec3 cubevec = octahedral_to_cubemap_proj(uvs);
+ /* get cubemap vector */
+ vec3 cubevec = octahedral_to_cubemap_proj(uvs);
- vec3 N, T, B, V;
+ vec3 N, T, B, V;
- vec3 R = normalize(cubevec);
+ vec3 R = normalize(cubevec);
- /* Isotropic assumption */
- N = V = R;
+ /* Isotropic assumption */
+ N = V = R;
- make_orthonormal_basis(N, T, B); /* Generate tangent space */
+ make_orthonormal_basis(N, T, B); /* Generate tangent space */
- /* Noise to dither the samples */
- /* Note : ghosting is better looking than noise. */
- // setup_noise();
+ /* Noise to dither the samples */
+ /* Note : ghosting is better looking than noise. */
+ // setup_noise();
- /* Integrating Envmap */
- float weight = 0.0;
- vec3 out_radiance = vec3(0.0);
- for (float i = 0; i < sampleCount; i++) {
- vec3 H = sample_ggx(i, roughnessSquared, N, T, B); /* Microfacet normal */
- vec3 L = -reflect(V, H);
- float NL = dot(N, L);
+ /* Integrating Envmap */
+ float weight = 0.0;
+ vec3 out_radiance = vec3(0.0);
+ for (float i = 0; i < sampleCount; i++) {
+ vec3 H = sample_ggx(i, roughnessSquared, N, T, B); /* Microfacet normal */
+ vec3 L = -reflect(V, H);
+ float NL = dot(N, L);
- if (NL > 0.0) {
- float NH = max(1e-8, dot(N, H)); /* cosTheta */
+ if (NL > 0.0) {
+ float NH = max(1e-8, dot(N, H)); /* cosTheta */
- /* Coarse Approximation of the mapping distortion
- * Unit Sphere -> Cubemap Face */
- const float dist = 4.0 * M_PI / 6.0;
- float pdf = pdf_ggx_reflect(NH, roughnessSquared);
- /* http://http.developer.nvidia.com/GPUGems3/gpugems3_ch20.html : Equation 13 */
- float lod = clamp(lodFactor - 0.5 * log2(pdf * dist), 0.0, lodMax) ;
+ /* Coarse Approximation of the mapping distortion
+ * Unit Sphere -> Cubemap Face */
+ const float dist = 4.0 * M_PI / 6.0;
+ float pdf = pdf_ggx_reflect(NH, roughnessSquared);
+ /* http://http.developer.nvidia.com/GPUGems3/gpugems3_ch20.html : Equation 13 */
+ float lod = clamp(lodFactor - 0.5 * log2(pdf * dist), 0.0, lodMax);
- vec3 l_col = textureLod(probeHdr, L, lod).rgb;
+ vec3 l_col = textureLod(probeHdr, L, lod).rgb;
- /* Clamped brightness. */
- float luma = max(1e-8, brightness(l_col));
- l_col *= 1.0 - max(0.0, luma - fireflyFactor) / luma;
+ /* Clamped brightness. */
+ float luma = max(1e-8, brightness(l_col));
+ l_col *= 1.0 - max(0.0, luma - fireflyFactor) / luma;
- out_radiance += l_col * NL;
- weight += NL;
- }
- }
+ out_radiance += l_col * NL;
+ weight += NL;
+ }
+ }
- FragColor = vec4(intensityFac * out_radiance / weight, 1.0);
+ FragColor = vec4(intensityFac * out_radiance / weight, 1.0);
}