Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ffd0bbd
commit deed789
Showing
9 changed files
with
757 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#version 450 | ||
|
||
#extension GL_ARB_separate_shader_objects : enable | ||
#extension GL_ARB_shading_language_420pack : enable | ||
|
||
layout (location = 0) in vec3 inNormal; | ||
layout (location = 1) in vec3 inColor; | ||
layout (location = 2) in vec3 inViewVec; | ||
layout (location = 3) in vec3 inLightVec; | ||
|
||
layout (location = 0) out vec4 outFragColor; | ||
|
||
void main() | ||
{ | ||
vec3 N = normalize(inNormal); | ||
vec3 L = normalize(inLightVec); | ||
vec3 V = normalize(inViewVec); | ||
vec3 R = reflect(-L, N); | ||
vec3 ambient = vec3(0.1); | ||
vec3 diffuse = max(dot(N, L), 0.0) * vec3(1.0); | ||
vec3 specular = pow(max(dot(R, V), 0.0), 16.0) * vec3(0.75); | ||
outFragColor = vec4((ambient + diffuse) * inColor.rgb + specular, 1.0); | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#version 450 | ||
|
||
#extension GL_ARB_separate_shader_objects : enable | ||
#extension GL_ARB_shading_language_420pack : enable | ||
|
||
layout (location = 0) in vec4 inPos; | ||
layout (location = 1) in vec3 inNormal; | ||
layout (location = 2) in vec3 inColor; | ||
|
||
layout (set = 0, binding = 0) uniform UBO | ||
{ | ||
mat4 projection; | ||
mat4 view; | ||
mat4 model; | ||
} ubo; | ||
|
||
layout (location = 0) out vec3 outNormal; | ||
layout (location = 1) out vec3 outColor; | ||
layout (location = 2) out vec3 outViewVec; | ||
layout (location = 3) out vec3 outLightVec; | ||
|
||
out gl_PerVertex | ||
{ | ||
vec4 gl_Position; | ||
}; | ||
|
||
void main() | ||
{ | ||
outNormal = inNormal; | ||
outColor = inColor; | ||
gl_Position = ubo.projection * ubo.view * ubo.model * inPos; | ||
|
||
vec4 pos = ubo.view * ubo.model * vec4(inPos.xyz, 1.0); | ||
outNormal = mat3(ubo.model) * inNormal; | ||
|
||
vec3 lightPos = vec3(1.0f, -1.0f, 1.0f); | ||
outLightVec = lightPos.xyz - pos.xyz; | ||
outViewVec = -pos.xyz; | ||
} |
Binary file not shown.
Oops, something went wrong.