#ifndef _opengl #define _opengl // Macros #define GL_GLEXT_PROTOTYPES #include "stdlib.h" extern char * __ClassNames[]; // Includes #include #include #include #include #include #include #include #include #include #include #include "./event.h" #include "./windowManager.h" #include "./resourceManager.h" #include "./renderPasses/renderPassTesselation.h" #include "./renderPasses/renderPassCompute2.h" #include "./renderPasses/renderPassCompute.h" #include "./renderPasses/renderPassFont.h" #include "./renderPasses/renderPassQuads.h" #include "./pipeline.h" #include "./eventManager.h" #include "./unsignedIntegerArray.h" #include "./floatArray.h" #include "./texture2D.h" #include "./sampler2D.h" #include "./shader.h" #include "./mesh.h" typedef struct opengl{ Display * mainDisplay; Window mainWindow; int MainScreen; Window RootWindow; int lastTime; struct timespec startTime; int frameCount; sampler2D * testSampler; struct windowManager * windowManager; struct eventManger * eventManger; struct pipeline * pipeline; } opengl; void opengl_initialize( opengl * this ); void opengl_showExtensions( opengl * this ); void opengl_showVersion( opengl * this ); void opengl_setupTime( opengl * this ); void opengl_setupManagers( opengl * this ); void opengl_setupWindow( opengl * this ); void opengl_setupRenderLoop( opengl * this ); void opengl_setupPipeline( opengl * this ); double opengl_clockToMilliseconds( opengl * this, clock_t ticks ); void opengl_render( opengl * this ); void opengl_displayFPS( opengl * this ); void opengl_clear( opengl * this, GLbitfield mask ); void opengl_clearColor( opengl * this, float r, float g, float b, float a ); void opengl_swapBuffers( opengl * this ); resourceManager * resources; event * globalEvent; opengl opengl_new( ); opengl * opengl_newPointer( ); #endif typedef struct opengl opengl;