Browse Source

Review skybox shaders

pull/1306/head
raysan5 4 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
// Input vertex attributes (from vertex shader)
in vec3 fragPosition;
varying vec3 fragPosition;
// Input uniform values
uniform sampler2D equirectangularMap;
// Output fragment color
out vec4 finalColor;
vec2 SampleSphericalMap(vec3 v)
{
vec2 uv = vec2(atan(v.z, v.x), asin(v.y));
@ -34,5 +31,5 @@ void main()
vec3 color = texture(equirectangularMap, uv).rgb;
// 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
// Input vertex attributes
in vec3 vertexPosition;
attribute vec3 vertexPosition;
// Input uniform values
uniform mat4 projection;
uniform mat4 view;
// Output vertex attributes (to fragment shader)
out vec3 fragPosition;
varying vec3 fragPosition;
void main()
{

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

@ -11,33 +11,24 @@
#version 110
// Input vertex attributes (from vertex shader)
in vec3 fragPosition;
varying vec3 fragPosition;
// Input uniform values
uniform samplerCube environmentMap;
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()
{
// 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
color = color/(color + vec3(1.0));
color = pow(color, vec3(1.0/2.2));
// 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
out vec4 finalColor;
vec4 flipTextureCube(samplerCube sampler, vec3 texCoord) {
return texture(sampler, vec3(texCoord.x,-texCoord.y,texCoord.z));
}
void main()
{
// 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
color = color/(color + vec3(1.0));

Loading…
Cancel
Save