X-Git-Url: https://harrygodden.com/git/?p=fishladder.git;a=blobdiff_plain;f=vg%2Fvg_lines.h;h=18a0a7c320950e80d0b13f51372b1a408958627a;hp=81b009150b4791518087ad5cb130965229d6dc8f;hb=bd3188f0fe52c9231f79af85d6cfaef2576b9f83;hpb=a36c7a3bddb23de2276f844d94dfd20227b68093 diff --git a/vg/vg_lines.h b/vg/vg_lines.h index 81b0091..18a0a7c 100644 --- a/vg/vg_lines.h +++ b/vg/vg_lines.h @@ -3,15 +3,15 @@ SHADER_DEFINE( vg_line_shader, // VERTEX - "layout (location=0) in vec3 a_co;" + "layout (location=0) in vec2 a_co;" "layout (location=1) in vec4 a_colour;" - "uniform mat4 uPv;" + "uniform mat3 uPv;" "" "out vec4 s_colour;" "" "void main()" "{" - " vec4 vert_pos = uPv * vec4( a_co, 1.0 );" + " vec4 vert_pos = vec4( uPv * vec3( a_co, 1.0 ), 1.0 );" " s_colour = a_colour;" " gl_Position = vert_pos;" "}", @@ -33,14 +33,13 @@ struct { struct vg_lines_vert { - vec3 co; + v2f co; u32 colour; } *buffer; GLuint vao, vbo; u32 draw_idx, cap, buffer_size; - } vg_lines; @@ -93,7 +92,7 @@ static void vg_lines_free(void) static void vg_lines_drawall(void) { SHADER_USE( vg_line_shader ); - glUniformMatrix4fv( SHADER_UNIFORM( vg_line_shader, "uPv" ), 1, GL_FALSE, (float *)vg_pv ); + glUniformMatrix3fv( SHADER_UNIFORM( vg_line_shader, "uPv" ), 1, GL_FALSE, (float *)vg_pv ); glBindVertexArray( vg_lines.vao ); glBindBuffer( GL_ARRAY_BUFFER, vg_lines.vbo ); @@ -109,18 +108,18 @@ static void vg_lines_drawall(void) vg_lines.draw_idx = 0; } -static void vg_line2( vec3 from, vec3 to, u32 fc, u32 tc ) +static void vg_line2( v2f from, v2f to, u32 fc, u32 tc ) { struct vg_lines_vert *v = vg_lines.buffer + vg_lines.draw_idx; - glm_vec3_copy( from, v[0].co ); - glm_vec3_copy( to, v[1].co ); + v2_copy( from, v[0].co ); + v2_copy( to, v[1].co ); v[0].colour = fc; v[1].colour = tc; vg_lines.draw_idx += 2; } -static void vg_line( vec3 from, vec3 to, u32 colour ) +static void vg_line( v2f from, v2f to, u32 colour ) { vg_line2( from, to, colour, colour ); }