33 lines
916 B
GLSL
33 lines
916 B
GLSL
#version 430 core
|
|
|
|
layout(location = 0) in vec3 vertexPosition;
|
|
layout(location = 1) in vec3 vertexNormal;
|
|
layout(location = 2) in vec2 vertexTexCoord;
|
|
layout(location = 3) in vec3 vertexTangent;
|
|
layout(location = 4) in vec3 vertexBitangent;
|
|
|
|
uniform mat4 transformation;
|
|
uniform mat4 modelMatrix;
|
|
uniform sampler2D colorTexture;
|
|
uniform float height;
|
|
|
|
out vec3 vecNormal;
|
|
out vec3 worldPos;
|
|
out vec2 vecTex;
|
|
|
|
void main()
|
|
{
|
|
worldPos = (modelMatrix* vec4(vertexPosition,1)).xyz;
|
|
vecNormal = (modelMatrix* vec4(vertexNormal,0)).xyz;
|
|
vecTex = vertexTexCoord;
|
|
vecTex.y = 1.0 - vecTex.y;
|
|
vec4 filters = texture2D(colorTexture, vecTex);
|
|
float offsetr = filters.r;
|
|
float offsetg = filters.g;
|
|
float offsetb = filters.b;
|
|
float offset = (offsetr+offsetg+offsetb)/20*height;
|
|
vec3 inc = vec3(offset, offset, offset);
|
|
vec3 inc2 = inc * vertexNormal;
|
|
gl_Position = transformation * vec4(vertexPosition + inc2, 1.0);
|
|
}
|