diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2017-08-02 17:51:18 +0200 |
---|---|---|
committer | Kevin Ottens <kevin.ottens@kdab.com> | 2017-09-27 18:10:33 +0000 |
commit | 16b0e6dc9b6043b8d98a661a3010879add15409d (patch) | |
tree | 016e2e28e2aea06e2f6093c3b26123b43e265ca1 /src/extras/shaders/gl3 | |
parent | 879e4d5fd5126a23b507e08935253378b1a0dc60 (diff) |
Move most vertex shaders into a unified one
We currently do a bit more work than strictly needed in some cases, but
that will change later on when this shader is converted into a graph.
Changing now will make this future refactoring easier.
Change-Id: I887601c18575bef79e25a23ed054aa336b1e860a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/extras/shaders/gl3')
-rw-r--r-- | src/extras/shaders/gl3/default.vert (renamed from src/extras/shaders/gl3/metalrough.vert) | 13 | ||||
-rw-r--r-- | src/extras/shaders/gl3/diffusemap.vert | 24 | ||||
-rw-r--r-- | src/extras/shaders/gl3/normaldiffusemap.vert | 32 | ||||
-rw-r--r-- | src/extras/shaders/gl3/phong.vert | 19 |
4 files changed, 8 insertions, 80 deletions
diff --git a/src/extras/shaders/gl3/metalrough.vert b/src/extras/shaders/gl3/default.vert index 6d3a60ef6..f97cd099d 100644 --- a/src/extras/shaders/gl3/metalrough.vert +++ b/src/extras/shaders/gl3/default.vert @@ -48,7 +48,7 @@ ** ****************************************************************************/ -#version 150 +#version 150 core in vec3 vertexPosition; in vec3 vertexNormal; @@ -62,12 +62,14 @@ out vec2 texCoord; uniform mat4 modelMatrix; uniform mat3 modelNormalMatrix; -uniform mat4 mvp; +uniform mat4 modelViewProjection; + +uniform float texCoordScale; void main() { - // Pass the texture coordinates through - texCoord = vertexTexCoord; + // Pass through scaled texture coordinates + texCoord = vertexTexCoord * texCoordScale; // Transform position, normal, and tangent to world space worldPosition = vec3(modelMatrix * vec4(vertexPosition, 1.0)); @@ -75,5 +77,6 @@ void main() worldTangent.xyz = normalize(vec3(modelMatrix * vec4(vertexTangent.xyz, 0.0))); worldTangent.w = vertexTangent.w; - gl_Position = mvp * vec4(vertexPosition, 1.0); + // Calculate vertex position in clip coordinates + gl_Position = modelViewProjection * vec4(vertexPosition, 1.0); } diff --git a/src/extras/shaders/gl3/diffusemap.vert b/src/extras/shaders/gl3/diffusemap.vert deleted file mode 100644 index 439be6e99..000000000 --- a/src/extras/shaders/gl3/diffusemap.vert +++ /dev/null @@ -1,24 +0,0 @@ -#version 150 core - -in vec3 vertexPosition; -in vec3 vertexNormal; -in vec2 vertexTexCoord; - -out vec3 worldPosition; -out vec3 worldNormal; -out vec2 texCoord; - -uniform mat4 modelMatrix; -uniform mat3 modelNormalMatrix; -uniform mat4 mvp; - -uniform float texCoordScale; - -void main() -{ - texCoord = vertexTexCoord * texCoordScale; - worldNormal = normalize( modelNormalMatrix * vertexNormal ); - worldPosition = vec3( modelMatrix * vec4( vertexPosition, 1.0 ) ); - - gl_Position = mvp * vec4( vertexPosition, 1.0 ); -} diff --git a/src/extras/shaders/gl3/normaldiffusemap.vert b/src/extras/shaders/gl3/normaldiffusemap.vert deleted file mode 100644 index 5f4aeb1ef..000000000 --- a/src/extras/shaders/gl3/normaldiffusemap.vert +++ /dev/null @@ -1,32 +0,0 @@ -#version 150 core - -in vec3 vertexPosition; -in vec3 vertexNormal; -in vec2 vertexTexCoord; -in vec4 vertexTangent; - -out vec3 worldPosition; -out vec3 worldNormal; -out vec4 worldTangent; -out vec2 texCoord; - -uniform mat4 modelMatrix; -uniform mat3 modelNormalMatrix; -uniform mat4 mvp; - -uniform float texCoordScale; - -void main() -{ - // Pass through scaled texture coordinates - texCoord = vertexTexCoord * texCoordScale; - - // Transform position, normal, and tangent to world space - worldPosition = vec3(modelMatrix * vec4(vertexPosition, 1.0)); - worldNormal = normalize(modelNormalMatrix * vertexNormal); - worldTangent.xyz = normalize(vec3(modelMatrix * vec4(vertexTangent.xyz, 0.0))); - worldTangent.w = vertexTangent.w; - - // Calculate vertex position in clip coordinates - gl_Position = mvp * vec4(vertexPosition, 1.0); -} diff --git a/src/extras/shaders/gl3/phong.vert b/src/extras/shaders/gl3/phong.vert deleted file mode 100644 index cdb3c70e9..000000000 --- a/src/extras/shaders/gl3/phong.vert +++ /dev/null @@ -1,19 +0,0 @@ -#version 150 core - -in vec3 vertexPosition; -in vec3 vertexNormal; - -out vec3 worldPosition; -out vec3 worldNormal; - -uniform mat4 modelMatrix; -uniform mat3 modelNormalMatrix; -uniform mat4 modelViewProjection; - -void main() -{ - worldNormal = normalize( modelNormalMatrix * vertexNormal ); - worldPosition = vec3( modelMatrix * vec4( vertexPosition, 1.0 ) ); - - gl_Position = modelViewProjection * vec4( vertexPosition, 1.0 ); -} |