143 lines
2.0 KiB
C
143 lines
2.0 KiB
C
#ifndef _opengl
|
|
|
|
#define _opengl
|
|
|
|
|
|
// Macros
|
|
|
|
#define GL_GLEXT_PROTOTYPES
|
|
|
|
|
|
|
|
|
|
#include "stdlib.h"
|
|
|
|
extern char * __ClassNames[];
|
|
|
|
|
|
// Includes
|
|
|
|
#include <zlib.h>
|
|
|
|
#include <time.h>
|
|
|
|
#include <GL/glx.h>
|
|
|
|
#include <GL/gl.h>
|
|
|
|
#include <GL/glext.h>
|
|
|
|
#include <X11/keysym.h>
|
|
|
|
#include <X11/Xlib.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <math.h>
|
|
|
|
#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;
|
|
|
|
|
|
|