0.2 Draw axis
This commit is contained in:
57
src/main.c
57
src/main.c
@@ -1,25 +1,37 @@
|
||||
#include <GL/gl.h>
|
||||
|
||||
#include "main.h"
|
||||
#include "data/cube.h"
|
||||
#include "data/axis.h"
|
||||
#include "data/shaders.h"
|
||||
|
||||
#define WIDTH 512
|
||||
#define HEIGHT 512
|
||||
|
||||
unsigned char palette[] =
|
||||
{
|
||||
16,
|
||||
0x90,0x90,0x90,0xff,
|
||||
0x91,0x91,0x91,0xff,
|
||||
0x92,0x92,0x92,0xff,
|
||||
0xff,0x88,0x33,0xff,
|
||||
};
|
||||
|
||||
const char * wname = "manigraph: manifold grapher";
|
||||
|
||||
int main( void )
|
||||
{
|
||||
unsigned char rot[3] = {0,0,0};
|
||||
unsigned int shader, texture;
|
||||
void * m_cube, *m_axis;
|
||||
|
||||
int shader;
|
||||
void * mesh;
|
||||
window_t window;
|
||||
|
||||
if( !( window = init_window( WIDTH, HEIGHT, wname ) ) )
|
||||
goto error_window;
|
||||
|
||||
use_window( window );
|
||||
set_color( 51, 76, 76 );
|
||||
set_color( 0x33, 0x00, 0x00 );
|
||||
|
||||
if( !( shader = create_shader() ) )
|
||||
goto error_shader;
|
||||
@@ -30,28 +42,49 @@ int main( void )
|
||||
|
||||
load_fix_matrix( shader, (float)WIDTH/HEIGHT );
|
||||
|
||||
if( !( mesh = create_mesh( cube ) ) )
|
||||
goto error_mesh;
|
||||
if( !( m_cube = create_mesh( cube ) ) )
|
||||
goto error_mesh_cube;
|
||||
|
||||
if( !( m_axis = create_mesh( axis ) ) )
|
||||
goto error_mesh_axis;
|
||||
|
||||
|
||||
texture=create_palette_texture( palette );
|
||||
use_texture( texture );
|
||||
|
||||
while( is_open_window( window ) )
|
||||
{
|
||||
load_rot_matrix( shader, rot[0], 0 );
|
||||
load_rot_matrix( shader, rot[1], 1 );
|
||||
load_rot_matrix( shader, rot[2], 2 );
|
||||
load_rot_matrix( shader, rot );
|
||||
|
||||
++rot[1];
|
||||
|
||||
draw_color();
|
||||
draw_mesh( mesh );
|
||||
|
||||
load_mdl_matrix( shader, 2 );
|
||||
gload_float( shader, "idx", 2 );
|
||||
draw_mesh( m_axis );
|
||||
|
||||
load_mdl_matrix( shader, 1 );
|
||||
gload_float( shader, "idx", 1 );
|
||||
draw_mesh( m_axis );
|
||||
|
||||
load_mdl_matrix( shader, 0 );
|
||||
gload_float( shader, "idx", 0 );
|
||||
draw_mesh( m_axis );
|
||||
gload_float( shader, "idx", 3 );
|
||||
draw_mesh( m_cube );
|
||||
}
|
||||
|
||||
destroy_mesh( mesh );
|
||||
destroy_texture( texture );
|
||||
destroy_mesh( m_axis );
|
||||
destroy_mesh( m_cube );
|
||||
destroy_shader( shader );
|
||||
close_window( window );
|
||||
return 0;
|
||||
|
||||
destroy_mesh( mesh );
|
||||
error_mesh:
|
||||
error_mesh_axis:
|
||||
destroy_mesh( m_cube );
|
||||
error_mesh_cube:
|
||||
destroy_shader( shader );
|
||||
error_shader:
|
||||
close_window( window );
|
||||
|
||||
Reference in New Issue
Block a user