Newer
Older
ForwardPlusRenderer / shaders / VertexShader.vert
#version 450

layout(location = 0) in vec3 in_position;
layout(location = 1) in vec3 in_color;
layout(location = 2) in vec2 in_uv;
layout(location = 3) in vec3 in_normal;
layout(location = 4) in vec3 in_tangent;
layout(location = 5) in vec3 in_bitangent;

layout(binding = 0) uniform CameraUBO
{
  mat4 projection;
  mat4 view;
  vec3 position;
} camera_UBO;


layout(set = 1, binding = 0) uniform ModelUBO
{
  mat4 model;
} model_UBO;

layout(location = 0) out vec3 out_color;
layout(location = 1) out vec2 out_uv;
layout(location = 2) out vec3 out_normal;
layout(location = 3) out vec3 out_pos;
layout(location = 4) out vec3 out_tangent;
layout(location = 5) out vec3 out_bitangent;

void main() {

  gl_Position = camera_UBO.projection * camera_UBO.view * model_UBO.model * vec4(in_position, 1.0);
  out_pos =  in_position;
  out_color = in_color;
  out_uv = in_uv;
  out_normal = in_normal;
}