diff options
Diffstat (limited to 'assets')
-rw-r--r-- | assets/shaders/object.frag | 15 | ||||
-rw-r--r-- | assets/shaders/object.vert | 29 |
2 files changed, 44 insertions, 0 deletions
diff --git a/assets/shaders/object.frag b/assets/shaders/object.frag new file mode 100644 index 0000000..fa50fcf --- /dev/null +++ b/assets/shaders/object.frag @@ -0,0 +1,15 @@ +#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 vec2 in_tex_coord; + +layout(set = 0, binding = 1) uniform sampler2D texSampler; + +layout(location = 0) out vec4 out_color; + +void main() { + // out_color = vec4(1.0); + out_color = texture(texSampler, in_tex_coord); +}
\ No newline at end of file diff --git a/assets/shaders/object.vert b/assets/shaders/object.vert new file mode 100644 index 0000000..23c0ffb --- /dev/null +++ b/assets/shaders/object.vert @@ -0,0 +1,29 @@ +#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 vec2 in_tex_coord; + +layout(location = 0) out vec3 out_position; +layout(location = 1) out vec3 out_normal; +layout(location = 2) out vec2 out_tex_coord; + +layout(set = 0, binding = 0) uniform global_object_uniform { + mat4 projection; + mat4 view; +} +global_ubo; + +layout(push_constant) uniform push_constants { + mat4 model; // 64 bytes +} +u_push_constants; + +void main() { + gl_Position = global_ubo.projection * global_ubo.view * u_push_constants.model * + vec4(in_position.x, in_position.y, in_position.z, 1.0); + out_position = in_position; + out_normal = in_normal; + out_tex_coord = in_tex_coord; +}
\ No newline at end of file |