This commit is contained in:
2024-07-07 12:53:24 +02:00
commit e6cef74c8b
6 changed files with 1106 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
VulkanApplication
shaders/*.spv

14
Makefile Normal file
View File

@@ -0,0 +1,14 @@
LDFLAGS = -lglfw -lvulkan -ldl -lpthread
CFLAGS = -g -pedantic -Wall -Wextra -Wshadow -Wunused-macros
VulkanApplication: main.c
gcc $(CFLAGS) -o VulkanApplication main.c $(LDFLAGS)
.PHONY: run clean
run: VulkanApplication
./VulkanApplication
clean:
rm -f VulkanApplication

1058
main.c Normal file

File diff suppressed because it is too large Load Diff

3
shaders/compile.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
glslc shader.vert -o vert.spv
glslc shader.frag -o frag.spv

9
shaders/shader.frag Normal file
View File

@@ -0,0 +1,9 @@
#version 450
layout(location = 0) in vec3 fragColor;
layout(location = 0) out vec4 outColor;
void main() {
outColor = vec4(fragColor, 1.0);
}

20
shaders/shader.vert Normal file
View File

@@ -0,0 +1,20 @@
#version 450
layout(location = 0) out vec3 fragColor;
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)
);
void main() {
gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0);
fragColor = colors[gl_VertexIndex];
}