X-Git-Url: https://gitweb.ps.run/subsurface_scattering/blobdiff_plain/cedffd5cf24c1a3ed64161475c806c55135406be..a0fdc6d882a1755d0b0607ba3d9bb55e7f8ac006:/shaders/vert_irradiance.glsl diff --git a/shaders/vert_irradiance.glsl b/shaders/vert_irradiance.glsl new file mode 100644 index 0000000..25770f6 --- /dev/null +++ b/shaders/vert_irradiance.glsl @@ -0,0 +1,77 @@ +#version 330 core + +layout (location = 0) in vec3 pos; +layout (location = 1) in vec3 normal; + +out vec3 FragPos; +out vec3 LocalPos; +out vec3 Backside; +out float BacksideIrradiance; +out vec3 Normal; + +uniform sampler2D shadowmapTexture; +uniform vec3 lightPos; +uniform vec2 samplePositions[13]; +uniform vec3 sampleWeights[13]; +uniform int screenWidth; +uniform int screenHeight; + +uniform mat4 model; +uniform mat4 view; +uniform mat4 lightView; +uniform mat4 lightViewInv; +uniform mat4 projection; +uniform mat4 lightProjection; + +vec4 blur(sampler2D tex, vec2 uv, vec2 res) { + float Pi = 6.28318530718; // Pi*2 + + // GAUSSIAN BLUR SETTINGS {{{ + float Directions = 16.0; // BLUR DIRECTIONS (Default 16.0 - More is better but slower) + float Quality = 4.0; // BLUR QUALITY (Default 4.0 - More is better but slower) + float Size = 8.0; // BLUR SIZE (Radius) + // GAUSSIAN BLUR SETTINGS }}} + + vec2 Radius = Size/res; + + // Pixel colour + vec4 Color = texture(tex, uv); + + // Blur calculations + for( float d=0.0; d