diff options
Diffstat (limited to 'res/shaders')
-rwxr-xr-x | res/shaders/simple_shader.frag | 19 | ||||
-rw-r--r-- | res/shaders/simple_shader.frag.spv | bin | 0 -> 1112 bytes | |||
-rwxr-xr-x | res/shaders/simple_shader.vert | 30 | ||||
-rw-r--r-- | res/shaders/simple_shader.vert.spv | bin | 0 -> 2520 bytes |
4 files changed, 49 insertions, 0 deletions
diff --git a/res/shaders/simple_shader.frag b/res/shaders/simple_shader.frag new file mode 100755 index 0000000..b11a5a8 --- /dev/null +++ b/res/shaders/simple_shader.frag @@ -0,0 +1,19 @@ +#version 450 + +layout (location = 0) in vec3 fragColor; + +layout (location = 0) out vec4 outColor; + +layout(set = 0, binding = 0) uniform GlobalUbo { + mat4 projectionViewMatrix; + vec3 directionToLight; +} ubo; + +layout(push_constant) uniform Push { + mat4 transform; + mat4 normalMatrix; +} push; + +void main() { + outColor = vec4(fragColor, 1.0); +}
\ No newline at end of file diff --git a/res/shaders/simple_shader.frag.spv b/res/shaders/simple_shader.frag.spv Binary files differnew file mode 100644 index 0000000..ff80cc6 --- /dev/null +++ b/res/shaders/simple_shader.frag.spv diff --git a/res/shaders/simple_shader.vert b/res/shaders/simple_shader.vert new file mode 100755 index 0000000..be802f7 --- /dev/null +++ b/res/shaders/simple_shader.vert @@ -0,0 +1,30 @@ +#version 450 + +layout(location = 0) in vec3 position; +layout(location = 1) in vec3 color; +layout(location = 2) in vec3 normal; +layout(location = 3) in vec2 uv; + +layout(location = 0) out vec3 fragColor; + +layout(set = 0, binding = 0) uniform GlobalUbo { + mat4 projectionViewMatrix; + vec3 directionToLight; +} ubo; + +layout(push_constant) uniform Push { + mat4 modelMatrix; + mat4 normalMatrix; +} push; + +const float AMBIENT = 0.02; + +void main() { + gl_Position = ubo.projectionViewMatrix * push.modelMatrix * vec4(position, 1.0); + + vec3 normalWorldSpace = normalize(mat3(push.normalMatrix) * normal); + + float lightIntensity = AMBIENT + max(dot(normalWorldSpace, ubo.directionToLight), 0); + + fragColor = lightIntensity * color; +}
\ No newline at end of file diff --git a/res/shaders/simple_shader.vert.spv b/res/shaders/simple_shader.vert.spv Binary files differnew file mode 100644 index 0000000..7b4a820 --- /dev/null +++ b/res/shaders/simple_shader.vert.spv |