From f88712a929ee3543f8e1d45c6071f676df339cdb Mon Sep 17 00:00:00 2001 From: Frederico Linhares Date: Tue, 2 Aug 2022 16:52:33 -0300 Subject: refa Use Vulkan for graphics This is a partial refactory. Some functionalities implemented in SDL were removed and need reimplementation. --- glsl/shader.frag | 14 ++++++++++++++ glsl/shader.vert | 30 ++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 glsl/shader.frag create mode 100644 glsl/shader.vert (limited to 'glsl') diff --git a/glsl/shader.frag b/glsl/shader.frag new file mode 100644 index 0000000..39aa83c --- /dev/null +++ b/glsl/shader.frag @@ -0,0 +1,14 @@ +#version 450 +#extension GL_ARB_separate_shader_objects : enable + +layout(location = 0) in vec3 in_frag_color; +layout(location = 1) in vec2 in_frag_texture_coord; + +layout(location = 0) out vec4 out_color; + +layout(set = 0, binding = 1) uniform sampler2D texture_sampler; + +void main() +{ + out_color = texture(texture_sampler, in_frag_texture_coord); +} diff --git a/glsl/shader.vert b/glsl/shader.vert new file mode 100644 index 0000000..2407255 --- /dev/null +++ b/glsl/shader.vert @@ -0,0 +1,30 @@ +#version 450 +#extension GL_ARB_separate_shader_objects : enable + +layout(location = 0) in vec3 in_position; +layout(location = 1) in vec3 in_normal; +layout(location = 2) in vec3 in_color; +layout(location = 3) in vec2 in_texture_coord; + +layout(location = 0) out vec3 frag_color; +layout(location = 1) out vec2 frag_texture_coord; + +layout(set = 0, binding = 0) uniform UBOModelInstance +{ + mat4 model[128]; +} ubo_model_instance; + +layout(set = 1, binding = 0) uniform UBOViewProjection +{ + mat4 view; + mat4 proj; +} ubo_view_projection; + +void main() +{ + gl_Position = + ubo_view_projection.proj * ubo_view_projection.view * + ubo_model_instance.model[gl_InstanceIndex] * vec4(in_position, 1.0); + frag_color = in_color; + frag_texture_coord = in_texture_coord; +} -- cgit v1.2.3