summaryrefslogtreecommitdiff
path: root/res/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'res/shaders')
-rwxr-xr-xres/shaders/simple_shader.frag19
-rw-r--r--res/shaders/simple_shader.frag.spvbin0 -> 1112 bytes
-rwxr-xr-xres/shaders/simple_shader.vert30
-rw-r--r--res/shaders/simple_shader.vert.spvbin0 -> 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
new file mode 100644
index 0000000..ff80cc6
--- /dev/null
+++ b/res/shaders/simple_shader.frag.spv
Binary files differ
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
new file mode 100644
index 0000000..7b4a820
--- /dev/null
+++ b/res/shaders/simple_shader.vert.spv
Binary files differ