6 uniform sampler2D shadowmapTexture;
\r
7 uniform sampler2D irradianceTexture;
\r
8 uniform int screenWidth;
\r
9 uniform int screenHeight;
\r
10 uniform int renderState;
\r
11 uniform vec2 samplePositions[13];
\r
12 uniform vec3 sampleWeights[13];
\r
16 if (renderState == 0) {
\r
17 FragColor = texture(shadowmapTexture, TexCoords);
\r
19 else if (renderState == 1) {
\r
20 FragColor = texture(irradianceTexture, TexCoords);
\r
22 else if (renderState == 2) {
\r
23 // sample calculated irradiance
\r
24 // using Gaussian kernel to approximate light spread
\r
25 vec4 result = vec4(0, 0, 0, 1);
\r
26 for (int i = 0; i < 13; i++) {
\r
27 vec2 sampleCoords = TexCoords + samplePositions[i] * vec2(1.0/screenWidth, 1.0/screenHeight);
\r
28 //vec4 sample = texture(irradianceTexture, sampleCoords)
\r
29 // * texture(shadowmapTexture, sampleCoords);
\r
30 vec4 sample = texture(irradianceTexture, sampleCoords);
\r
31 vec4 weight = vec4(sampleWeights[i], 1);
\r
32 result += sample * weight;
\r