From 509dd53c645b4f917bd83defb7c485a71be15f46 Mon Sep 17 00:00:00 2001 From: Omniscient <17525998+omnisci3nce@users.noreply.github.com> Date: Sat, 4 May 2024 16:06:55 +1000 Subject: compile glsl to spirv for triangle shader --- assets/shaders/triangle.frag | 6 ++++++ assets/shaders/triangle.vert | 12 ++++++++++++ src/renderer/backends/backend_vulkan.c | 1 - xmake.lua | 8 ++++---- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/assets/shaders/triangle.frag b/assets/shaders/triangle.frag index e69de29..2151162 100644 --- a/assets/shaders/triangle.frag +++ b/assets/shaders/triangle.frag @@ -0,0 +1,6 @@ +#version 450 + +layout(location = 0) in vec3 fragColor; +layout(location = 0) out vec4 outColor; + +void main() { outColor = vec4(fragColor, 1.0); } \ No newline at end of file diff --git a/assets/shaders/triangle.vert b/assets/shaders/triangle.vert index e69de29..e160d39 100644 --- a/assets/shaders/triangle.vert +++ b/assets/shaders/triangle.vert @@ -0,0 +1,12 @@ +#version 450 + +vec2 positions[3] = vec2[](vec2(0.0, -0.5), vec2(0.5, 0.5), vec2(-0.5, 0.5)); + +vec3 colors[3] = vec3[](vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0)); + +layout(location = 0) out vec3 fragColor; + +void main() { + gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0); + fragColor = colors[gl_VertexIndex]; +} diff --git a/src/renderer/backends/backend_vulkan.c b/src/renderer/backends/backend_vulkan.c index 0616a53..45bb0e7 100644 --- a/src/renderer/backends/backend_vulkan.c +++ b/src/renderer/backends/backend_vulkan.c @@ -14,7 +14,6 @@ #include "log.h" #include "ral.h" #include "utils.h" -#include "utils.h" // TEMP #define SCREEN_WIDTH 1000 diff --git a/xmake.lua b/xmake.lua index 949dd76..882535d 100644 --- a/xmake.lua +++ b/xmake.lua @@ -110,10 +110,10 @@ target("core_config") add_includedirs("src/std/containers", {public = true}) add_includedirs("src/systems/", {public = true}) add_files("src/empty.c") -- for some reason we need this on Mac so it doesnt call 'ar' with no files and error - -- add_rules("compile_glsl_vert_shaders") - -- add_rules("compile_glsl_frag_shaders") - -- add_files("assets/shaders/object.vert") - -- add_files("assets/shaders/object.frag") + add_rules("compile_glsl_vert_shaders") + add_rules("compile_glsl_frag_shaders") + add_files("assets/shaders/triangle.vert") + add_files("assets/shaders/triangle.frag") -- add_files("assets/shaders/*.frag") if is_plat("windows") then add_includedirs("$(env VULKAN_SDK)/Include", {public = true}) -- cgit v1.2.3-70-g09d2