Add base shaders and create pipeline_layout
This commit is contained in:
@@ -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"
|
||||
)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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];
|
||||
}
|
||||
Reference in New Issue
Block a user