Browse Source

Review skybox shaders

pull/1306/head
raysan5 5 years ago
parent
commit
b4ff6fdde3
4 changed files with 12 additions and 30 deletions
  1. +2
    -5
      examples/models/resources/shaders/glsl100/cubemap.fs
  2. +2
    -2
      examples/models/resources/shaders/glsl100/cubemap.vs
  3. +5
    -14
      examples/models/resources/shaders/glsl100/skybox.fs
  4. +3
    -9
      examples/models/resources/shaders/glsl330/skybox.fs

+ 2
- 5
examples/models/resources/shaders/glsl100/cubemap.fs View File

@ -9,14 +9,11 @@
#version 330 #version 330
// Input vertex attributes (from vertex shader) // Input vertex attributes (from vertex shader)
in vec3 fragPosition;
varying vec3 fragPosition;
// Input uniform values // Input uniform values
uniform sampler2D equirectangularMap; uniform sampler2D equirectangularMap;
// Output fragment color
out vec4 finalColor;
vec2 SampleSphericalMap(vec3 v) vec2 SampleSphericalMap(vec3 v)
{ {
vec2 uv = vec2(atan(v.z, v.x), asin(v.y)); vec2 uv = vec2(atan(v.z, v.x), asin(v.y));
@ -34,5 +31,5 @@ void main()
vec3 color = texture(equirectangularMap, uv).rgb; vec3 color = texture(equirectangularMap, uv).rgb;
// Calculate final fragment color // Calculate final fragment color
finalColor = vec4(color, 1.0);
gl_FragColor = vec4(color, 1.0);
} }

+ 2
- 2
examples/models/resources/shaders/glsl100/cubemap.vs View File

@ -9,14 +9,14 @@
#version 330 #version 330
// Input vertex attributes // Input vertex attributes
in vec3 vertexPosition;
attribute vec3 vertexPosition;
// Input uniform values // Input uniform values
uniform mat4 projection; uniform mat4 projection;
uniform mat4 view; uniform mat4 view;
// Output vertex attributes (to fragment shader) // Output vertex attributes (to fragment shader)
out vec3 fragPosition;
varying vec3 fragPosition;
void main() void main()
{ {

+ 5
- 14
examples/models/resources/shaders/glsl100/skybox.fs View File

@ -11,33 +11,24 @@
#version 110 #version 110
// Input vertex attributes (from vertex shader) // Input vertex attributes (from vertex shader)
in vec3 fragPosition;
varying vec3 fragPosition;
// Input uniform values // Input uniform values
uniform samplerCube environmentMap; uniform samplerCube environmentMap;
uniform bool vflipped; uniform bool vflipped;
// Output fragment color
out vec4 finalColor;
vec4 flipTextureCube(samplerCube sampler, vec3 texCoord) {
return texture(sampler, vec3(texCoord.x,-texCoord.y,texCoord.z));
}
void main() void main()
{ {
// Fetch color from texture map // Fetch color from texture map
vec3 err">color;
vec3 color = { 0.0 };
if (vflipped )
color = flipTextureCube(environmentMap, fragPosition).rgb;
else
color = texture(environmentMap, fragPosition).rgb;
if (vflipped) color = texture2D(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)).rgb;
else color = texture2D(environmentMap, fragPosition).rgb;
// Apply gamma correction // Apply gamma correction
color = color/(color + vec3(1.0)); color = color/(color + vec3(1.0));
color = pow(color, vec3(1.0/2.2)); color = pow(color, vec3(1.0/2.2));
// Calculate final fragment color // Calculate final fragment color
finalColor = vec4(color, 1.0);
gl_FragColor = vec4(color, 1.0);
} }

+ 3
- 9
examples/models/resources/shaders/glsl330/skybox.fs View File

@ -20,19 +20,13 @@ uniform bool vflipped;
// Output fragment color // Output fragment color
out vec4 finalColor; out vec4 finalColor;
vec4 flipTextureCube(samplerCube sampler, vec3 texCoord) {
return texture(sampler, vec3(texCoord.x,-texCoord.y,texCoord.z));
}
void main() void main()
{ {
// Fetch color from texture map // Fetch color from texture map
vec3 err">color;
vec3 color = { 0.0 };
if (vflipped )
color = flipTextureCube(environmentMap, fragPosition).rgb;
else
color = texture(environmentMap, fragPosition).rgb;
if (vflipped) color = texture(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)).rgb;
else color = texture(environmentMap, fragPosition).rgb;
// Apply gamma correction // Apply gamma correction
color = color/(color + vec3(1.0)); color = color/(color + vec3(1.0));

Loading…
Cancel
Save