Add base shaders and create pipeline_layout

This commit is contained in:
Jiga228
2025-09-26 20:09:26 +07:00
parent 175354f56a
commit 2353ac289a
5 changed files with 187 additions and 1 deletions
+27
View File
@@ -45,3 +45,30 @@ add_custom_command(
${OUTPUT_PATH}/Resources
COMMENT "Copying Resources directory"
)
add_custom_command(
TARGET ${GAME_NAME}
PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT_PATH}/Shaders
COMMENT "Creating Shaders directory"
)
add_custom_command(
TARGET ${GAME_NAME}
POST_BUILD
COMMAND $ENV{VULKAN_SDK}/Bin/glslc.exe
${CMAKE_CURRENT_SOURCE_DIR}/Shaders/vertex.vert
-o ${OUTPUT_PATH}/Shaders/vertex.spv
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Shaders/vertex.vert
COMMENT "Building vertex shader"
)
add_custom_command(
TARGET ${GAME_NAME}
POST_BUILD
COMMAND $ENV{VULKAN_SDK}/Bin/glslc.exe
${CMAKE_CURRENT_SOURCE_DIR}/Shaders/fragment.frag
-o ${OUTPUT_PATH}/Shaders/fragment.spv
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Shaders/fragment.frag
COMMENT "Building fragment shader"
)
+8
View File
@@ -0,0 +1,8 @@
#version 450
layout(location = 0) in vec3 fragColor;
layout(location = 0) out vec4 outColor;
void main() {
outColor = vec4(fragColor, 1.0);
}
+20
View File
@@ -0,0 +1,20 @@
#version 450
layout(location = 0) out vec3 fragColor;
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)
);
vec2 positions[3] = vec2[](
vec2(0.0, -0.5),
vec2(0.5, 0.5),
vec2(-0.5, 0.5)
);
void main() {
gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0);
fragColor = colors[gl_VertexIndex];
}