Fixed LitVS from illegally using a struct as an input param

This commit is contained in:
Elipzer 2018-09-18 16:26:51 -04:00
parent 0e3982591e
commit ba18f97d22

View File

@ -1,12 +1,5 @@
#version 430 #version 430
struct Vertex
{
vec3 position;
vec3 normal;
vec4 material;
};
struct Fragment struct Fragment
{ {
vec3 position; vec3 position;
@ -14,7 +7,10 @@ struct Fragment
vec4 material; vec4 material;
}; };
layout(location = 0) in Vertex vertex; layout(location = 0) in vec3 vertex_position;
layout(location = 1) in vec3 vertex_normal;
layout(location = 2) in vec4 vertex_material;
layout(location = 3) in mat4 model_to_world; layout(location = 3) in mat4 model_to_world;
layout(location = 0) uniform mat4 world_to_projection; layout(location = 0) uniform mat4 world_to_projection;
@ -23,10 +19,10 @@ out Fragment fragment;
void main() void main()
{ {
vec4 model_position = model_to_world * vec4(vertex.position, 1.0); vec4 model_position = model_to_world * vec4(vertex_position, 1.0);
vec4 model_normal = model_to_world * vec4(vertex.normal, 0.0); vec4 model_normal = model_to_world * vec4(vertex_normal, 0.0);
gl_Position = world_to_projection * model_position; gl_Position = world_to_projection * model_position;
fragment.position = model_position.xyz; fragment.position = model_position.xyz;
fragment.normal = model_normal.xyz; fragment.normal = model_normal.xyz;
fragment.material = vertex.material; fragment.material = vertex_material;
} }