0.1 Graph cube
This commit is contained in:
60
src/main.c
Normal file
60
src/main.c
Normal file
@@ -0,0 +1,60 @@
|
||||
#include "main.h"
|
||||
#include "data/cube.h"
|
||||
#include "data/shaders.h"
|
||||
|
||||
#define WIDTH 512
|
||||
#define HEIGHT 512
|
||||
|
||||
const char * wname = "manigraph: manifold grapher";
|
||||
|
||||
int main( void )
|
||||
{
|
||||
unsigned char rot[3] = {0,0,0};
|
||||
|
||||
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 );
|
||||
|
||||
if( !( shader = create_shader() ) )
|
||||
goto error_shader;
|
||||
|
||||
gload_program( shader, vs, VERTEX );
|
||||
gload_program( shader, fs, FRAGMENT );
|
||||
use_shader( shader );
|
||||
|
||||
load_fix_matrix( shader, (float)WIDTH/HEIGHT );
|
||||
|
||||
if( !( mesh = create_mesh( cube ) ) )
|
||||
goto error_mesh;
|
||||
|
||||
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 );
|
||||
|
||||
++rot[1];
|
||||
|
||||
draw_color();
|
||||
draw_mesh( mesh );
|
||||
}
|
||||
|
||||
destroy_mesh( mesh );
|
||||
destroy_shader( shader );
|
||||
close_window( window );
|
||||
return 0;
|
||||
|
||||
destroy_mesh( mesh );
|
||||
error_mesh:
|
||||
destroy_shader( shader );
|
||||
error_shader:
|
||||
close_window( window );
|
||||
error_window:
|
||||
return 1;
|
||||
}
|
||||
Reference in New Issue
Block a user