1 // Copyright (C) 2021 Harry Godden (hgn) - All Rights Reserved
6 SHADER_DEFINE( colour_shader
,
9 "layout (location=0) in vec3 a_co;"
14 " vec4 vert_pos = uPvm * vec4( a_co, 1.0 );"
15 " gl_Position = vert_pos;"
20 "uniform vec4 uColour;"
24 " FragColor = uColour;"
27 UNIFORMS({ "uPvm", "uColour" })
34 int main( int argc
, char *argv
[] )
36 vg_init( argc
, argv
, "FishLadder" );
42 float ratio
= (float)vg_window_y
/ (float)vg_window_x
;
43 float const size
= 7.5f
;
44 glm_ortho( -size
, size
, -size
*ratio
, size
*ratio
, 0.1f
, 100.f
, m_projection
);
46 glm_mat4_identity( m_view
);
47 glm_translate_z( m_view
, -10.f
);
48 glm_rotate_x( m_view
, -1.0f
, m_view
);
50 glm_mat4_mul( m_projection
, m_view
, m_pv
);
58 glEnable( GL_DEPTH_TEST
);
59 glClearColor( 0.94f
, 0.94f
, 0.94f
, 1.0f
);
60 glClear( GL_COLOR_BUFFER_BIT
| GL_DEPTH_BUFFER_BIT
);
62 SHADER_USE( colour_shader
);
63 glUniformMatrix4fv( SHADER_UNIFORM( colour_shader
, "uPvm" ), 1, GL_FALSE
, (float *)m_pv
);
64 glUniform4f( SHADER_UNIFORM( colour_shader
, "uColour" ), 0.5f
, 0.5f
, 0.5f
, 1.0f
);
66 glBindVertexArray( tile_vao
);
67 glDrawArrays( GL_TRIANGLES
, 0, 6 );
72 SHADER_INIT( colour_shader
);
74 glGenVertexArrays( 1, &tile_vao
);
75 glGenBuffers( 1, &tile_vbo
);
87 glBindVertexArray( tile_vao
);
88 glBindBuffer( GL_ARRAY_BUFFER
, tile_vbo
);
97 glVertexAttribPointer( 0, 3, GL_FLOAT
, GL_FALSE
, 3 * sizeof(float), (void*)0 );
98 glEnableVertexAttribArray( 0 );