diff --git a/examples/shaders/resources/shaders/glsl100/gbuffer.fs b/examples/shaders/resources/shaders/glsl100/gbuffer.fs index 2945c5ddd..f6e313579 100644 --- a/examples/shaders/resources/shaders/glsl100/gbuffer.fs +++ b/examples/shaders/resources/shaders/glsl100/gbuffer.fs @@ -1,36 +1,26 @@ -#version 100 +#version 300 es -precision mediump float; +precision highp float; -// Input vertex attributes (from vertex shader) -varying vec3 fragPosition; -varying vec2 fragTexCoord; -varying vec3 fragNormal; -varying vec4 fragColor; +layout (location = 0) out vec4 gPosition; +layout (location = 1) out vec4 gNormal; +layout (location = 2) out vec4 gAlbedoSpec; -// TODO: Is there some alternative for GLSL100 -//layout (location = 0) out vec3 gPosition; -//layout (location = 1) out vec3 gNormal; -//layout (location = 2) out vec4 gAlbedoSpec; -//uniform vec3 gPosition; -//uniform vec3 gNormal; -//uniform vec4 gAlbedoSpec; +in vec3 fragPosition; +in vec2 fragTexCoord; +in vec3 fragNormal; +in vec4 fragColor; -// Input uniform values -uniform sampler2D texture0; // Diffuse texture +uniform sampler2D diffuseTexture; uniform sampler2D specularTexture; -void main() -{ - // Store the fragment position vector in the first gbuffer texture - //gPosition = fragPosition; - - // Store the per-fragment normals into the gbuffer - //gNormal = normalize(fragNormal); - - // Store the diffuse per-fragment color - gl_FragColor.rgb = texture2D(texture0, fragTexCoord).rgb; - - // Store specular intensity in gAlbedoSpec's alpha component - gl_FragColor.a = texture2D(specularTexture, fragTexCoord).r; +void main() { + // store the fragment position vector in the first gbuffer texture + gPosition = vec4(fragPosition,1.0); + // also store the per-fragment normals into the gbuffer + gNormal = vec4(normalize(fragNormal),1.0); + // and the diffuse per-fragment color + gAlbedoSpec.rgb = texture(diffuseTexture, fragTexCoord).rgb; + // store specular intensity in gAlbedoSpec's alpha component + gAlbedoSpec.a = texture(specularTexture, fragTexCoord).r; }