Add lighting in VulkanTest

This commit is contained in:
Lynix 2020-04-10 17:36:52 +02:00
parent b2d3605cf4
commit f1811df6f6
4 changed files with 10 additions and 6 deletions

View File

@ -5,12 +5,16 @@
layout(binding = 1) uniform sampler2D texSampler; layout(binding = 1) uniform sampler2D texSampler;
layout (location = 0) in vec3 inColor; layout (location = 0) in vec3 inNormal;
layout (location = 1) in vec2 outTexCoords; layout (location = 1) in vec2 inUV;
layout (location = 0) out vec4 outFragColor; layout (location = 0) out vec4 outFragColor;
void main() void main()
{ {
outFragColor = texture(texSampler, outTexCoords); vec3 lightDir = vec3(0.0, -0.707, 0.707);
float lightFactor = dot(inNormal, lightDir);
float gamma = 2.2;
outFragColor = lightFactor * vec4(pow(texture(texSampler, inUV).xyz, vec3(1.0/gamma)), 1.0);
} }

View File

@ -4,7 +4,7 @@
#extension GL_ARB_shading_language_420pack : enable #extension GL_ARB_shading_language_420pack : enable
layout (location = 0) in vec3 inPos; layout (location = 0) in vec3 inPos;
layout (location = 1) in vec3 inColor; layout (location = 1) in vec3 inNormals;
layout (location = 2) in vec2 inTexCoord; layout (location = 2) in vec2 inTexCoord;
layout (binding = 0) uniform UBO layout (binding = 0) uniform UBO
@ -14,7 +14,7 @@ layout (binding = 0) uniform UBO
mat4 viewMatrix; mat4 viewMatrix;
} ubo; } ubo;
layout (location = 0) out vec3 outColor; layout (location = 0) out vec3 outNormal;
layout (location = 1) out vec2 outTexCoords; layout (location = 1) out vec2 outTexCoords;
out gl_PerVertex out gl_PerVertex
@ -25,7 +25,7 @@ out gl_PerVertex
void main() void main()
{ {
outColor = inColor; outNormal = inNormals;
outTexCoords = inTexCoord; outTexCoords = inTexCoord;
gl_Position = ubo.projectionMatrix * ubo.viewMatrix * ubo.modelMatrix * vec4(inPos, 1.0); gl_Position = ubo.projectionMatrix * ubo.viewMatrix * ubo.modelMatrix * vec4(inPos, 1.0);
} }