diff --git a/shaders/simple.vert b/shaders/simple.vert index 5f93d4e..2a10ade 100644 --- a/shaders/simple.vert +++ b/shaders/simple.vert @@ -4,7 +4,16 @@ in layout(location=0) vec3 position; in layout(location=1) vec4 aColor; out vec4 vColor; +mat4 transform; + void main() { - gl_Position = vec4(position, 1.0f); + transform = mat4( + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0 + ); + + gl_Position = transform * vec4(position, 1.0f); vColor = aColor; } diff --git a/src/main.rs b/src/main.rs index 313c584..7df1d18 100644 --- a/src/main.rs +++ b/src/main.rs @@ -181,21 +181,42 @@ fn main() { // == // Set up your VAO around here - let vertices = vec![ - // triangle 1 (red, z=0.5) - -0.6, -0.3, 0.5, 0.6, -0.3, 0.5, 0.0, 0.6, 0.5, // triangle 2 (green, z=0.0) - -0.3, -0.6, 0.0, 0.3, -0.6, 0.0, 0.0, 0.3, 0.0, // triangle 3 (blue, z=-0.5) - -0.4, 0.4, -0.5, 0.4, 0.4, -0.5, 0.0, -0.4, -0.5, - ]; - let indices = vec![0, 1, 2, 3, 4, 5, 6, 8, 7]; - let colors = vec![ - // triangle 1 colors (red, α=0.5) - 1.0, 0.0, 0.0, 0.3, 1.0, 0.0, 0.0, 0.3, 1.0, 0.0, 0.0, 0.3, - // triangle 2 colors (green, α=0.5) - 0.0, 1.0, 0.0, 0.3, 0.0, 1.0, 0.0, 0.3, 0.0, 1.0, 0.0, 0.3, - // triangle 3 colors (blue, α=0.5) - 0.0, 0.0, 1.0, 0.3, 0.0, 0.0, 1.0, 0.3, 0.0, 0.0, 1.0, 0.3, - ]; + let vertices = vec![ + // triangle 1 + -0.8, -0.8, 0.0, + -0.2, -0.8, 0.0, + -0.5, -0.2, 0.0, + // triangle 2 + 0.2, -0.8, 0.0, + 0.8, -0.8, 0.0, + 0.5, -0.2, 0.0, + // triangle 3 + -0.3, 0.2, 0.0, + 0.3, 0.2, 0.0, + 0.0, 0.8, 0.0, + ]; + let indices = vec![ + 0, 1, 2, + 3, 4, 5, + 6, 7, 8, + ]; + let colors = vec![ + // triangle 1 colors + 1.0, 0.0, 0.0, 1.0, + 0.0, 1.0, 0.0, 1.0, + 0.0, 0.0, 1.0, 1.0, + // triangle 2 colors + 1.0, 1.0, 0.0, 1.0, + 0.0, 1.0, 1.0, 1.0, + 1.0, 0.0, 1.0, 1.0, + // triangle 3 colors + 0.5, 0.5, 0.5, 1.0, + 1.0, 0.5, 0.0, 1.0, + 0.0, 0.5, 1.0, 1.0, + ]; + + + let my_vao = unsafe { create_vao(&vertices, &colors, &indices) };