0.1 Graph cube

This commit is contained in:
PedroEdiaz
2024-09-04 22:35:31 +00:00
commit cce685d90c
12 changed files with 675 additions and 0 deletions

60
src/main.c Normal file
View 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;
}