diff options
| -rw-r--r-- | CMakeLists.txt | 6 | ||||
| -rw-r--r-- | assets/shaders/present.frag | 16 | ||||
| -rw-r--r-- | assets/shaders/present.vert | 14 |
3 files changed, 34 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6854915..f832d25 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,10 +73,12 @@ if (Vulkan_FOUND) target_include_directories(pke PUBLIC ${Vulkan_INCLUDE_DIR}) endif (Vulkan_FOUND) -set(SHADER_OUTPUT_DIR ${PROJECT_BINARY_DIR}/shaders) -set(SHADER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/graphics/shaders) +set(SHADER_OUTPUT_DIR ${PROJECT_BINARY_DIR}/assets/shaders) +set(SHADER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/assets/shaders) file(MAKE_DIRECTORY ${SHADER_OUTPUT_DIR}) set(SHADERS + ${SHADER_DIR}/present.vert + ${SHADER_DIR}/present.frag ) foreach(SHADER IN LISTS SHADERS) diff --git a/assets/shaders/present.frag b/assets/shaders/present.frag new file mode 100644 index 0000000..695f7bd --- /dev/null +++ b/assets/shaders/present.frag @@ -0,0 +1,16 @@ +#version 450 + +layout (binding = 0) uniform sampler2D samplerColor; + +layout (location = 0) in vec2 inUV; + +layout (location = 0) out vec4 outFragColor; + +void main() +{ + vec4 color = texture(samplerColor, inUV); + if (color.w == 0) { + discard; + } + outFragColor = color; +}
\ No newline at end of file diff --git a/assets/shaders/present.vert b/assets/shaders/present.vert new file mode 100644 index 0000000..5423fcf --- /dev/null +++ b/assets/shaders/present.vert @@ -0,0 +1,14 @@ +#version 450 + +layout (location = 0) out vec2 outUV; + +out gl_PerVertex +{ + vec4 gl_Position; +}; + +void main() +{ + outUV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); + gl_Position = vec4(outUV * 2.0f - 1.0f, 0.0f, 1.0f); +}
\ No newline at end of file |
