shithub: tinygl

Download patch

ref: 138a63d0ad59c454edf25ebb7903aabfa331f9c4
parent: 5c333c57f72ca687986e4b39d7d061abd730cb9b
author: David <gek@katherine>
date: Sun Feb 14 09:35:19 EST 2021

Major project restructuring

--- a/SDL_Examples/gears.c
+++ b/SDL_Examples/gears.c
@@ -10,11 +10,11 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "../src/include/GL/gl.h"
+#include "../include/GL/gl.h"
 #define CHAD_API_IMPL
 #include "include/api_audio.h"
 #include <SDL/SDL.h>
-#include "../src/include/zbuffer.h"
+#include "../include/zbuffer.h"
 
 #ifndef M_PI
 #  define M_PI 3.14159265
--- a/SDL_Examples/model.c
+++ b/SDL_Examples/model.c
@@ -10,7 +10,7 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "../src/include/GL/gl.h"
+#include "../include/GL/gl.h"
 #define STB_IMAGE_IMPLEMENTATION
 #include "include/stb_image.h"
 #define CHAD_MATH_IMPL
@@ -19,7 +19,7 @@
 #define CHAD_API_IMPL
 #include "include/api_audio.h"
 #include <SDL/SDL.h>
-#include "../src/include/zbuffer.h"
+#include "../include/zbuffer.h"
 #include <time.h>
 
 #ifndef M_PI
--- a/SDL_Examples/texture.c
+++ b/SDL_Examples/texture.c
@@ -10,13 +10,13 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "../src/include/GL/gl.h"
+#include "../include/GL/gl.h"
 #define CHAD_API_IMPL
 #include "include/api_audio.h"
 #define STB_IMAGE_IMPLEMENTATION
 #include "include/stb_image.h"
 #include <SDL/SDL.h>
-#include "../src/include/zbuffer.h"
+#include "../include/zbuffer.h"
 
 #ifndef M_PI
 #  define M_PI 3.14159265
--- /dev/null
+++ b/include/GL/gl.h
@@ -1,0 +1,858 @@
+/*
+ * The following constants come from Mesa
+ */
+#ifndef GL_H
+#define GL_H
+
+#define GL_VERSION_1_1 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum {
+	/* Boolean values */
+	GL_FALSE			= 0,
+	GL_TRUE				= 1,
+
+	/* Data types */
+	GL_BYTE				= 0x1400,
+	GL_UNSIGNED_BYTE		= 0x1401,
+	GL_SHORT			= 0x1402,
+	GL_UNSIGNED_SHORT		= 0x1403,
+	GL_INT				= 0x1404,
+	GL_UNSIGNED_INT			= 0x1405,
+	GL_FLOAT			= 0x1406,
+	GL_DOUBLE			= 0x140A,
+	GL_2_BYTES			= 0x1407,
+	GL_3_BYTES			= 0x1408,
+	GL_4_BYTES			= 0x1409,
+
+	/* Primitives */
+	GL_LINES			= 0x0001,
+	GL_POINTS			= 0x0000,
+	GL_LINE_STRIP			= 0x0003,
+	GL_LINE_LOOP			= 0x0002,
+	GL_TRIANGLES			= 0x0004,
+	GL_TRIANGLE_STRIP		= 0x0005,
+	GL_TRIANGLE_FAN			= 0x0006,
+	GL_QUADS			= 0x0007,
+	GL_QUAD_STRIP			= 0x0008,
+	GL_POLYGON			= 0x0009,
+	GL_EDGE_FLAG			= 0x0B43,
+
+	/* Vertex Arrays */
+	GL_VERTEX_ARRAY			= 0x8074,
+	GL_NORMAL_ARRAY			= 0x8075,
+	GL_COLOR_ARRAY			= 0x8076,
+	GL_INDEX_ARRAY			= 0x8077,
+	GL_TEXTURE_COORD_ARRAY		= 0x8078,
+	GL_EDGE_FLAG_ARRAY		= 0x8079,
+	GL_VERTEX_ARRAY_SIZE		= 0x807A,
+	GL_VERTEX_ARRAY_TYPE		= 0x807B,
+	GL_VERTEX_ARRAY_STRIDE		= 0x807C,
+	GL_VERTEX_ARRAY_COUNT		= 0x807D,
+	GL_NORMAL_ARRAY_TYPE		= 0x807E,
+	GL_NORMAL_ARRAY_STRIDE		= 0x807F,
+	GL_NORMAL_ARRAY_COUNT		= 0x8080,
+	GL_COLOR_ARRAY_SIZE		= 0x8081,
+	GL_COLOR_ARRAY_TYPE		= 0x8082,
+	GL_COLOR_ARRAY_STRIDE		= 0x8083,
+	GL_COLOR_ARRAY_COUNT		= 0x8084,
+	GL_INDEX_ARRAY_TYPE		= 0x8085,
+	GL_INDEX_ARRAY_STRIDE		= 0x8086,
+	GL_INDEX_ARRAY_COUNT		= 0x8087,
+	GL_TEXTURE_COORD_ARRAY_SIZE	= 0x8088,
+	GL_TEXTURE_COORD_ARRAY_TYPE	= 0x8089,
+	GL_TEXTURE_COORD_ARRAY_STRIDE	= 0x808A,
+	GL_TEXTURE_COORD_ARRAY_COUNT	= 0x808B,
+	GL_EDGE_FLAG_ARRAY_STRIDE	= 0x808C,
+	GL_EDGE_FLAG_ARRAY_COUNT	= 0x808D,
+	GL_VERTEX_ARRAY_POINTER		= 0x808E,
+	GL_NORMAL_ARRAY_POINTER		= 0x808F,
+	GL_COLOR_ARRAY_POINTER		= 0x8090,
+	GL_INDEX_ARRAY_POINTER		= 0x8091,
+	GL_TEXTURE_COORD_ARRAY_POINTER	= 0x8092,
+	GL_EDGE_FLAG_ARRAY_POINTER	= 0x8093,
+        GL_V2F				= 0x2A20,
+	GL_V3F				= 0x2A21,
+	GL_C4UB_V2F			= 0x2A22,
+	GL_C4UB_V3F			= 0x2A23,
+	GL_C3F_V3F			= 0x2A24,
+	GL_N3F_V3F			= 0x2A25,
+	GL_C4F_N3F_V3F			= 0x2A26,
+	GL_T2F_V3F			= 0x2A27,
+	GL_T4F_V4F			= 0x2A28,
+	GL_T2F_C4UB_V3F			= 0x2A29,
+	GL_T2F_C3F_V3F			= 0x2A2A,
+	GL_T2F_N3F_V3F			= 0x2A2B,
+	GL_T2F_C4F_N3F_V3F		= 0x2A2C,
+	GL_T4F_C4F_N3F_V4F		= 0x2A2D,
+
+	/* Matrix Mode */
+	GL_MATRIX_MODE			= 0x0BA0,
+	GL_MODELVIEW			= 0x1700,
+	GL_PROJECTION			= 0x1701,
+	GL_TEXTURE			= 0x1702,
+
+	/* Points */
+	GL_POINT_SMOOTH			= 0x0B10,
+	GL_POINT_SIZE			= 0x0B11,
+	GL_POINT_SIZE_GRANULARITY 	= 0x0B13,
+	GL_POINT_SIZE_RANGE		= 0x0B12,
+
+	/* Lines */
+	GL_LINE_SMOOTH			= 0x0B20,
+	GL_LINE_STIPPLE			= 0x0B24,
+	GL_LINE_STIPPLE_PATTERN		= 0x0B25,
+	GL_LINE_STIPPLE_REPEAT		= 0x0B26,
+	GL_LINE_WIDTH			= 0x0B21,
+	GL_LINE_WIDTH_GRANULARITY	= 0x0B23,
+	GL_LINE_WIDTH_RANGE		= 0x0B22,
+
+	/* Polygons */
+	GL_POINT			= 0x1B00,
+	GL_LINE				= 0x1B01,
+	GL_FILL				= 0x1B02,
+	GL_CCW				= 0x0901,
+	GL_CW				= 0x0900,
+	GL_FRONT			= 0x0404,
+	GL_BACK				= 0x0405,
+	GL_CULL_FACE			= 0x0B44,
+	GL_CULL_FACE_MODE		= 0x0B45,
+	GL_POLYGON_SMOOTH		= 0x0B41,
+	GL_POLYGON_STIPPLE		= 0x0B42,
+	GL_FRONT_FACE			= 0x0B46,
+	GL_POLYGON_MODE			= 0x0B40,
+	GL_POLYGON_OFFSET_FACTOR	= 0x3038,
+	GL_POLYGON_OFFSET_UNITS		= 0x2A00,
+	GL_POLYGON_OFFSET_POINT		= 0x2A01,
+	GL_POLYGON_OFFSET_LINE		= 0x2A02,
+	GL_POLYGON_OFFSET_FILL		= 0x8037,
+
+	/* Display Lists */
+	GL_COMPILE			= 0x1300,
+	GL_COMPILE_AND_EXECUTE		= 0x1301,
+	GL_LIST_BASE			= 0x0B32,
+	GL_LIST_INDEX			= 0x0B33,
+	GL_LIST_MODE			= 0x0B30,
+
+	/* Depth buffer */
+	GL_NEVER			= 0x0200,
+	GL_LESS				= 0x0201,
+	GL_GEQUAL			= 0x0206,
+	GL_LEQUAL			= 0x0203,
+	GL_GREATER			= 0x0204,
+	GL_NOTEQUAL			= 0x0205,
+	GL_EQUAL			= 0x0202,
+	GL_ALWAYS			= 0x0207,
+	GL_DEPTH_TEST			= 0x0B71,
+	GL_DEPTH_BITS			= 0x0D56,
+	GL_DEPTH_CLEAR_VALUE		= 0x0B73,
+	GL_DEPTH_FUNC			= 0x0B74,
+	GL_DEPTH_RANGE			= 0x0B70,
+	GL_DEPTH_WRITEMASK		= 0x0B72,
+	GL_DEPTH_COMPONENT		= 0x1902,
+
+	/* Lighting */
+	GL_LIGHTING			= 0x0B50,
+	GL_LIGHT0			= 0x4000,
+	GL_LIGHT1			= 0x4001,
+	GL_LIGHT2			= 0x4002,
+	GL_LIGHT3			= 0x4003,
+	GL_LIGHT4			= 0x4004,
+	GL_LIGHT5			= 0x4005,
+	GL_LIGHT6			= 0x4006,
+	GL_LIGHT7			= 0x4007,
+	GL_SPOT_EXPONENT		= 0x1205,
+	GL_SPOT_CUTOFF			= 0x1206,
+	GL_CONSTANT_ATTENUATION		= 0x1207,
+	GL_LINEAR_ATTENUATION		= 0x1208,
+	GL_QUADRATIC_ATTENUATION	= 0x1209,
+	GL_AMBIENT			= 0x1200,
+	GL_DIFFUSE			= 0x1201,
+	GL_SPECULAR			= 0x1202,
+	GL_SHININESS			= 0x1601,
+	GL_EMISSION			= 0x1600,
+	GL_POSITION			= 0x1203,
+	GL_SPOT_DIRECTION		= 0x1204,
+	GL_AMBIENT_AND_DIFFUSE		= 0x1602,
+	GL_COLOR_INDEXES		= 0x1603,
+	GL_LIGHT_MODEL_TWO_SIDE		= 0x0B52,
+	GL_LIGHT_MODEL_LOCAL_VIEWER	= 0x0B51,
+	GL_LIGHT_MODEL_AMBIENT		= 0x0B53,
+	GL_FRONT_AND_BACK		= 0x0408,
+	GL_SHADE_MODEL			= 0x0B54,
+	GL_FLAT				= 0x1D00,
+	GL_SMOOTH			= 0x1D01,
+	GL_COLOR_MATERIAL		= 0x0B57,
+	GL_COLOR_MATERIAL_FACE		= 0x0B55,
+	GL_COLOR_MATERIAL_PARAMETER	= 0x0B56,
+	GL_NORMALIZE			= 0x0BA1,
+
+	/* User clipping planes */
+	GL_CLIP_PLANE0			= 0x3000,
+	GL_CLIP_PLANE1			= 0x3001,
+	GL_CLIP_PLANE2			= 0x3002,
+	GL_CLIP_PLANE3			= 0x3003,
+	GL_CLIP_PLANE4			= 0x3004,
+	GL_CLIP_PLANE5			= 0x3005,
+
+	/* Accumulation buffer */
+	GL_ACCUM_RED_BITS		= 0x0D58,
+	GL_ACCUM_GREEN_BITS		= 0x0D59,
+	GL_ACCUM_BLUE_BITS		= 0x0D5A,
+	GL_ACCUM_ALPHA_BITS		= 0x0D5B,
+	GL_ACCUM_CLEAR_VALUE		= 0x0B80,
+	GL_ACCUM			= 0x0100,
+	GL_ADD				= 0x0104,
+	GL_LOAD				= 0x0101,
+	GL_MULT				= 0x0103,
+	GL_RETURN			= 0x0102,
+
+	/* Alpha testing */
+	GL_ALPHA_TEST			= 0x0BC0,
+	GL_ALPHA_TEST_REF		= 0x0BC2,
+	GL_ALPHA_TEST_FUNC		= 0x0BC1,
+
+	/* Blending */
+	GL_BLEND			= 0x0BE2,
+	GL_BLEND_SRC			= 0x0BE1,
+	GL_BLEND_DST			= 0x0BE0,
+	GL_ZERO				= 0,
+	GL_ONE				= 1,
+	GL_SRC_COLOR			= 0x0300,
+	GL_ONE_MINUS_SRC_COLOR		= 0x0301,
+	GL_DST_COLOR			= 0x0306,
+	GL_ONE_MINUS_DST_COLOR		= 0x0307,
+	GL_SRC_ALPHA			= 0x0302,
+	GL_ONE_MINUS_SRC_ALPHA		= 0x0303,
+	GL_DST_ALPHA			= 0x0304,
+	GL_ONE_MINUS_DST_ALPHA		= 0x0305,
+	GL_SRC_ALPHA_SATURATE		= 0x0308,
+	GL_CONSTANT_COLOR		= 0x8001,
+	GL_ONE_MINUS_CONSTANT_COLOR	= 0x8002,
+	GL_CONSTANT_ALPHA		= 0x8003,
+	GL_ONE_MINUS_CONSTANT_ALPHA	= 0x8004,
+
+	/* Render Mode */
+	GL_FEEDBACK			= 0x1C01,
+	GL_RENDER			= 0x1C00,
+	GL_SELECT			= 0x1C02,
+
+	/* Feedback */
+	GL_2D				= 0x0600,
+	GL_3D				= 0x0601,
+	GL_3D_COLOR			= 0x0602,
+	GL_3D_COLOR_TEXTURE		= 0x0603,
+	GL_4D_COLOR_TEXTURE		= 0x0604,
+	GL_POINT_TOKEN			= 0x0701,
+	GL_LINE_TOKEN			= 0x0702,
+	GL_LINE_RESET_TOKEN		= 0x0707,
+	GL_POLYGON_TOKEN		= 0x0703,
+	GL_BITMAP_TOKEN			= 0x0704,
+	GL_DRAW_PIXEL_TOKEN		= 0x0705,
+	GL_COPY_PIXEL_TOKEN		= 0x0706,
+	GL_PASS_THROUGH_TOKEN		= 0x0700,
+
+	/* Fog */
+	GL_FOG				= 0x0B60,
+	GL_FOG_MODE			= 0x0B65,
+	GL_FOG_DENSITY			= 0x0B62,
+	GL_FOG_COLOR			= 0x0B66,
+	GL_FOG_INDEX			= 0x0B61,
+	GL_FOG_START			= 0x0B63,
+	GL_FOG_END			= 0x0B64,
+	GL_LINEAR			= 0x2601,
+	GL_EXP				= 0x0800,
+	GL_EXP2				= 0x0801,
+
+	/* Logic Ops */
+	GL_LOGIC_OP			= 0x0BF1,
+	GL_LOGIC_OP_MODE		= 0x0BF0,
+	GL_CLEAR			= 0x1500,
+	GL_SET				= 0x150F,
+	GL_COPY				= 0x1503,
+	GL_COPY_INVERTED		= 0x150C,
+	GL_NOOP				= 0x1505,
+	GL_INVERT			= 0x150A,
+	GL_AND				= 0x1501,
+	GL_NAND				= 0x150E,
+	GL_OR				= 0x1507,
+	GL_NOR				= 0x1508,
+	GL_XOR				= 0x1506,
+	GL_EQUIV			= 0x1509,
+	GL_AND_REVERSE			= 0x1502,
+	GL_AND_INVERTED			= 0x1504,
+	GL_OR_REVERSE			= 0x150B,
+	GL_OR_INVERTED			= 0x150D,
+
+	/* Stencil */
+	GL_STENCIL_TEST			= 0x0B90,
+	GL_STENCIL_WRITEMASK		= 0x0B98,
+	GL_STENCIL_BITS			= 0x0D57,
+	GL_STENCIL_FUNC			= 0x0B92,
+	GL_STENCIL_VALUE_MASK		= 0x0B93,
+	GL_STENCIL_REF			= 0x0B97,
+	GL_STENCIL_FAIL			= 0x0B94,
+	GL_STENCIL_PASS_DEPTH_PASS	= 0x0B96,
+	GL_STENCIL_PASS_DEPTH_FAIL	= 0x0B95,
+	GL_STENCIL_CLEAR_VALUE		= 0x0B91,
+	GL_STENCIL_INDEX		= 0x1901,
+	GL_KEEP				= 0x1E00,
+	GL_REPLACE			= 0x1E01,
+	GL_INCR				= 0x1E02,
+	GL_DECR				= 0x1E03,
+
+	/* Buffers, Pixel Drawing/Reading */
+	GL_NONE				= 0,
+	GL_LEFT				= 0x0406,
+	GL_RIGHT			= 0x0407,
+	/*GL_FRONT			= 0x0404, */
+	/*GL_BACK			= 0x0405, */
+	/*GL_FRONT_AND_BACK		= 0x0408, */
+	GL_FRONT_LEFT			= 0x0400,
+	GL_FRONT_RIGHT			= 0x0401,
+	GL_BACK_LEFT			= 0x0402,
+	GL_BACK_RIGHT			= 0x0403,
+	GL_AUX0				= 0x0409,
+	GL_AUX1				= 0x040A,
+	GL_AUX2				= 0x040B,
+	GL_AUX3				= 0x040C,
+	GL_COLOR_INDEX			= 0x1900,
+	GL_RED				= 0x1903,
+	GL_GREEN			= 0x1904,
+	GL_BLUE				= 0x1905,
+	GL_ALPHA			= 0x1906,
+	GL_LUMINANCE			= 0x1909,
+	GL_LUMINANCE_ALPHA		= 0x190A,
+	GL_ALPHA_BITS			= 0x0D55,
+	GL_RED_BITS			= 0x0D52,
+	GL_GREEN_BITS			= 0x0D53,
+	GL_BLUE_BITS			= 0x0D54,
+	GL_INDEX_BITS			= 0x0D51,
+	GL_SUBPIXEL_BITS		= 0x0D50,
+	GL_AUX_BUFFERS			= 0x0C00,
+	GL_READ_BUFFER			= 0x0C02,
+	GL_DRAW_BUFFER			= 0x0C01,
+	GL_DOUBLEBUFFER			= 0x0C32,
+	GL_STEREO			= 0x0C33,
+	GL_BITMAP			= 0x1A00,
+	GL_COLOR			= 0x1800,
+	GL_DEPTH			= 0x1801,
+	GL_STENCIL			= 0x1802,
+	GL_DITHER			= 0x0BD0,
+	GL_RGB				= 0x1907,
+	GL_RGBA				= 0x1908,
+
+	/* Implementation limits */
+	GL_MAX_LIST_NESTING		= 0x0B31,
+	GL_MAX_ATTRIB_STACK_DEPTH	= 0x0D35,
+	GL_MAX_MODELVIEW_STACK_DEPTH	= 0x0D36,
+	GL_MAX_NAME_STACK_DEPTH		= 0x0D37,
+	GL_MAX_PROJECTION_STACK_DEPTH	= 0x0D38,
+	GL_MAX_TEXTURE_STACK_DEPTH	= 0x0D39,
+	GL_MAX_EVAL_ORDER		= 0x0D30,
+	GL_MAX_LIGHTS			= 0x0D31,
+	GL_MAX_CLIP_PLANES		= 0x0D32,
+	GL_MAX_TEXTURE_SIZE		= 0x0D33,
+	GL_MAX_PIXEL_MAP_TABLE		= 0x0D34,
+	GL_MAX_VIEWPORT_DIMS		= 0x0D3A,
+	GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B,
+
+	/* Gets */
+	GL_ATTRIB_STACK_DEPTH		= 0x0BB0,
+	GL_COLOR_CLEAR_VALUE		= 0x0C22,
+	GL_COLOR_WRITEMASK		= 0x0C23,
+	GL_CURRENT_INDEX		= 0x0B01,
+	GL_CURRENT_COLOR		= 0x0B00,
+	GL_CURRENT_NORMAL		= 0x0B02,
+	GL_CURRENT_RASTER_COLOR		= 0x0B04,
+	GL_CURRENT_RASTER_DISTANCE	= 0x0B09,
+	GL_CURRENT_RASTER_INDEX		= 0x0B05,
+	GL_CURRENT_RASTER_POSITION	= 0x0B07,
+	GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
+	GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
+	GL_CURRENT_TEXTURE_COORDS	= 0x0B03,
+	GL_INDEX_CLEAR_VALUE		= 0x0C20,
+	GL_INDEX_MODE			= 0x0C30,
+	GL_INDEX_WRITEMASK		= 0x0C21,
+	GL_MODELVIEW_MATRIX		= 0x0BA6,
+	GL_MODELVIEW_STACK_DEPTH	= 0x0BA3,
+	GL_NAME_STACK_DEPTH		= 0x0D70,
+	GL_PROJECTION_MATRIX		= 0x0BA7,
+	GL_PROJECTION_STACK_DEPTH	= 0x0BA4,
+	GL_RENDER_MODE			= 0x0C40,
+	GL_RGBA_MODE			= 0x0C31,
+	GL_TEXTURE_MATRIX		= 0x0BA8,
+	GL_TEXTURE_STACK_DEPTH		= 0x0BA5,
+	GL_VIEWPORT			= 0x0BA2,
+
+
+	/* Evaluators */
+	GL_AUTO_NORMAL			= 0x0D80,
+	GL_MAP1_COLOR_4			= 0x0D90,
+	GL_MAP1_GRID_DOMAIN		= 0x0DD0,
+	GL_MAP1_GRID_SEGMENTS		= 0x0DD1,
+	GL_MAP1_INDEX			= 0x0D91,
+	GL_MAP1_NORMAL			= 0x0D92,
+	GL_MAP1_TEXTURE_COORD_1		= 0x0D93,
+	GL_MAP1_TEXTURE_COORD_2		= 0x0D94,
+	GL_MAP1_TEXTURE_COORD_3		= 0x0D95,
+	GL_MAP1_TEXTURE_COORD_4		= 0x0D96,
+	GL_MAP1_VERTEX_3		= 0x0D97,
+	GL_MAP1_VERTEX_4		= 0x0D98,
+	GL_MAP2_COLOR_4			= 0x0DB0,
+	GL_MAP2_GRID_DOMAIN		= 0x0DD2,
+	GL_MAP2_GRID_SEGMENTS		= 0x0DD3,
+	GL_MAP2_INDEX			= 0x0DB1,
+	GL_MAP2_NORMAL			= 0x0DB2,
+	GL_MAP2_TEXTURE_COORD_1		= 0x0DB3,
+	GL_MAP2_TEXTURE_COORD_2		= 0x0DB4,
+	GL_MAP2_TEXTURE_COORD_3		= 0x0DB5,
+	GL_MAP2_TEXTURE_COORD_4		= 0x0DB6,
+	GL_MAP2_VERTEX_3		= 0x0DB7,
+	GL_MAP2_VERTEX_4		= 0x0DB8,
+	GL_COEFF			= 0x0A00,
+	GL_DOMAIN			= 0x0A02,
+	GL_ORDER			= 0x0A01,
+
+	/* Hints */
+	GL_FOG_HINT			= 0x0C54,
+	GL_LINE_SMOOTH_HINT		= 0x0C52,
+	GL_PERSPECTIVE_CORRECTION_HINT	= 0x0C50,
+	GL_POINT_SMOOTH_HINT		= 0x0C51,
+	GL_POLYGON_SMOOTH_HINT		= 0x0C53,
+	GL_DONT_CARE			= 0x1100,
+	GL_FASTEST			= 0x1101,
+	GL_NICEST			= 0x1102,
+
+	/* Scissor box */
+	GL_SCISSOR_TEST			= 0x0C11,
+	GL_SCISSOR_BOX			= 0x0C10,
+
+	/* Pixel Mode / Transfer */
+	GL_MAP_COLOR			= 0x0D10,
+	GL_MAP_STENCIL			= 0x0D11,
+	GL_INDEX_SHIFT			= 0x0D12,
+	GL_INDEX_OFFSET			= 0x0D13,
+	GL_RED_SCALE			= 0x0D14,
+	GL_RED_BIAS			= 0x0D15,
+	GL_GREEN_SCALE			= 0x0D18,
+	GL_GREEN_BIAS			= 0x0D19,
+	GL_BLUE_SCALE			= 0x0D1A,
+	GL_BLUE_BIAS			= 0x0D1B,
+	GL_ALPHA_SCALE			= 0x0D1C,
+	GL_ALPHA_BIAS			= 0x0D1D,
+	GL_DEPTH_SCALE			= 0x0D1E,
+	GL_DEPTH_BIAS			= 0x0D1F,
+	GL_PIXEL_MAP_S_TO_S_SIZE	= 0x0CB1,
+	GL_PIXEL_MAP_I_TO_I_SIZE	= 0x0CB0,
+	GL_PIXEL_MAP_I_TO_R_SIZE	= 0x0CB2,
+	GL_PIXEL_MAP_I_TO_G_SIZE	= 0x0CB3,
+	GL_PIXEL_MAP_I_TO_B_SIZE	= 0x0CB4,
+	GL_PIXEL_MAP_I_TO_A_SIZE	= 0x0CB5,
+	GL_PIXEL_MAP_R_TO_R_SIZE	= 0x0CB6,
+	GL_PIXEL_MAP_G_TO_G_SIZE	= 0x0CB7,
+	GL_PIXEL_MAP_B_TO_B_SIZE	= 0x0CB8,
+	GL_PIXEL_MAP_A_TO_A_SIZE	= 0x0CB9,
+	GL_PIXEL_MAP_S_TO_S		= 0x0C71,
+	GL_PIXEL_MAP_I_TO_I		= 0x0C70,
+	GL_PIXEL_MAP_I_TO_R		= 0x0C72,
+	GL_PIXEL_MAP_I_TO_G		= 0x0C73,
+	GL_PIXEL_MAP_I_TO_B		= 0x0C74,
+	GL_PIXEL_MAP_I_TO_A		= 0x0C75,
+	GL_PIXEL_MAP_R_TO_R		= 0x0C76,
+	GL_PIXEL_MAP_G_TO_G		= 0x0C77,
+	GL_PIXEL_MAP_B_TO_B		= 0x0C78,
+	GL_PIXEL_MAP_A_TO_A		= 0x0C79,
+	GL_PACK_ALIGNMENT		= 0x0D05,
+	GL_PACK_LSB_FIRST		= 0x0D01,
+	GL_PACK_ROW_LENGTH		= 0x0D02,
+	GL_PACK_SKIP_PIXELS		= 0x0D04,
+	GL_PACK_SKIP_ROWS		= 0x0D03,
+	GL_PACK_SWAP_BYTES		= 0x0D00,
+	GL_UNPACK_ALIGNMENT		= 0x0CF5,
+	GL_UNPACK_LSB_FIRST		= 0x0CF1,
+	GL_UNPACK_ROW_LENGTH		= 0x0CF2,
+	GL_UNPACK_SKIP_PIXELS		= 0x0CF4,
+	GL_UNPACK_SKIP_ROWS		= 0x0CF3,
+	GL_UNPACK_SWAP_BYTES		= 0x0CF0,
+	GL_ZOOM_X			= 0x0D16,
+	GL_ZOOM_Y			= 0x0D17,
+
+	/* Texture mapping */
+	GL_TEXTURE_ENV			= 0x2300,
+	GL_TEXTURE_ENV_MODE		= 0x2200,
+	GL_TEXTURE_1D			= 0x0DE0,
+	GL_TEXTURE_2D			= 0x0DE1,
+	GL_TEXTURE_WRAP_S		= 0x2802,
+	GL_TEXTURE_WRAP_T		= 0x2803,
+	GL_TEXTURE_MAG_FILTER		= 0x2800,
+	GL_TEXTURE_MIN_FILTER		= 0x2801,
+	GL_TEXTURE_ENV_COLOR		= 0x2201,
+	GL_TEXTURE_GEN_S		= 0x0C60,
+	GL_TEXTURE_GEN_T		= 0x0C61,
+	GL_TEXTURE_GEN_MODE		= 0x2500,
+	GL_TEXTURE_BORDER_COLOR		= 0x1004,
+	GL_TEXTURE_WIDTH		= 0x1000,
+	GL_TEXTURE_HEIGHT		= 0x1001,
+	GL_TEXTURE_BORDER		= 0x1005,
+	GL_TEXTURE_COMPONENTS		= 0x1003,
+	GL_NEAREST_MIPMAP_NEAREST	= 0x2700,
+	GL_NEAREST_MIPMAP_LINEAR	= 0x2702,
+	GL_LINEAR_MIPMAP_NEAREST	= 0x2701,
+	GL_LINEAR_MIPMAP_LINEAR		= 0x2703,
+	GL_OBJECT_LINEAR		= 0x2401,
+	GL_OBJECT_PLANE			= 0x2501,
+	GL_EYE_LINEAR			= 0x2400,
+	GL_EYE_PLANE			= 0x2502,
+	GL_SPHERE_MAP			= 0x2402,
+	GL_DECAL			= 0x2101,
+	GL_MODULATE			= 0x2100,
+	GL_NEAREST			= 0x2600,
+	GL_REPEAT			= 0x2901,
+	GL_CLAMP			= 0x2900,
+	GL_S				= 0x2000,
+	GL_T				= 0x2001,
+	GL_R				= 0x2002,
+	GL_Q				= 0x2003,
+	GL_TEXTURE_GEN_R		= 0x0C62,
+	GL_TEXTURE_GEN_Q		= 0x0C63,
+
+	GL_PROXY_TEXTURE_1D		= 0x8063,
+	GL_PROXY_TEXTURE_2D		= 0x8064,
+	GL_TEXTURE_PRIORITY		= 0x8066,
+	GL_TEXTURE_RESIDENT		= 0x8067,
+	GL_TEXTURE_1D_BINDING		= 0x8068,
+	GL_TEXTURE_2D_BINDING		= 0x8069,
+
+	/* Internal texture formats */
+	GL_ALPHA4			= 0x803B,
+	GL_ALPHA8			= 0x803C,
+	GL_ALPHA12			= 0x803D,
+	GL_ALPHA16			= 0x803E,
+	GL_LUMINANCE4			= 0x803F,
+	GL_LUMINANCE8			= 0x8040,
+	GL_LUMINANCE12			= 0x8041,
+	GL_LUMINANCE16			= 0x8042,
+	GL_LUMINANCE4_ALPHA4		= 0x8043,
+	GL_LUMINANCE6_ALPHA2		= 0x8044,
+	GL_LUMINANCE8_ALPHA8		= 0x8045,
+	GL_LUMINANCE12_ALPHA4		= 0x8046,
+	GL_LUMINANCE12_ALPHA12		= 0x8047,
+	GL_LUMINANCE16_ALPHA16		= 0x8048,
+	GL_INTENSITY			= 0x8049,
+	GL_INTENSITY4			= 0x804A,
+	GL_INTENSITY8			= 0x804B,
+	GL_INTENSITY12			= 0x804C,
+	GL_INTENSITY16			= 0x804D,
+	GL_R3_G3_B2			= 0x2A10,
+	GL_RGB4				= 0x804F,
+	GL_RGB5				= 0x8050,
+	GL_RGB8				= 0x8051,
+	GL_RGB10			= 0x8052,
+	GL_RGB12			= 0x8053,
+	GL_RGB16			= 0x8054,
+	GL_RGBA2			= 0x8055,
+	GL_RGBA4			= 0x8056,
+	GL_RGB5_A1			= 0x8057,
+	GL_RGBA8			= 0x8058,
+	GL_RGB10_A2			= 0x8059,
+	GL_RGBA12			= 0x805A,
+	GL_RGBA16			= 0x805B,
+
+	/* Utility */
+	GL_VENDOR			= 0x1F00,
+	GL_RENDERER			= 0x1F01,
+	GL_VERSION			= 0x1F02,
+	GL_EXTENSIONS			= 0x1F03,
+
+	/* Errors */
+	GL_INVALID_VALUE		= 0x0501,
+	GL_INVALID_ENUM			= 0x0500,
+	GL_INVALID_OPERATION		= 0x0502,
+	GL_STACK_OVERFLOW		= 0x0503,
+	GL_STACK_UNDERFLOW		= 0x0504,
+	GL_OUT_OF_MEMORY		= 0x0505,
+
+	/*
+	 * 1.0 Extensions
+	 */
+        /* GL_EXT_blend_minmax and GL_EXT_blend_color */
+	GL_CONSTANT_COLOR_EXT		= 0x8001,
+	GL_ONE_MINUS_CONSTANT_COLOR_EXT	= 0x8002,
+	GL_CONSTANT_ALPHA_EXT		= 0x8003,
+	GL_ONE_MINUS_CONSTANT_ALPHA_EXT	= 0x8004,
+	GL_BLEND_EQUATION_EXT		= 0x8009,
+	GL_MIN_EXT			= 0x8007,
+	GL_MAX_EXT			= 0x8008,
+	GL_FUNC_ADD_EXT			= 0x8006,
+	GL_FUNC_SUBTRACT_EXT		= 0x800A,
+	GL_FUNC_REVERSE_SUBTRACT_EXT	= 0x800B,
+	GL_BLEND_COLOR_EXT		= 0x8005,
+
+	/* GL_EXT_polygon_offset */
+        GL_POLYGON_OFFSET_EXT           = 0x8037,
+        GL_POLYGON_OFFSET_FACTOR_EXT    = 0x8038,
+        GL_POLYGON_OFFSET_BIAS_EXT      = 0x8039,
+
+	/* GL_EXT_vertex_array */
+	GL_VERTEX_ARRAY_EXT		= 0x8074,
+	GL_NORMAL_ARRAY_EXT		= 0x8075,
+	GL_COLOR_ARRAY_EXT		= 0x8076,
+	GL_INDEX_ARRAY_EXT		= 0x8077,
+	GL_TEXTURE_COORD_ARRAY_EXT	= 0x8078,
+	GL_EDGE_FLAG_ARRAY_EXT		= 0x8079,
+	GL_VERTEX_ARRAY_SIZE_EXT	= 0x807A,
+	GL_VERTEX_ARRAY_TYPE_EXT	= 0x807B,
+	GL_VERTEX_ARRAY_STRIDE_EXT	= 0x807C,
+	GL_VERTEX_ARRAY_COUNT_EXT	= 0x807D,
+	GL_NORMAL_ARRAY_TYPE_EXT	= 0x807E,
+	GL_NORMAL_ARRAY_STRIDE_EXT	= 0x807F,
+	GL_NORMAL_ARRAY_COUNT_EXT	= 0x8080,
+	GL_COLOR_ARRAY_SIZE_EXT		= 0x8081,
+	GL_COLOR_ARRAY_TYPE_EXT		= 0x8082,
+	GL_COLOR_ARRAY_STRIDE_EXT	= 0x8083,
+	GL_COLOR_ARRAY_COUNT_EXT	= 0x8084,
+	GL_INDEX_ARRAY_TYPE_EXT		= 0x8085,
+	GL_INDEX_ARRAY_STRIDE_EXT	= 0x8086,
+	GL_INDEX_ARRAY_COUNT_EXT	= 0x8087,
+	GL_TEXTURE_COORD_ARRAY_SIZE_EXT	= 0x8088,
+	GL_TEXTURE_COORD_ARRAY_TYPE_EXT	= 0x8089,
+	GL_TEXTURE_COORD_ARRAY_STRIDE_EXT= 0x808A,
+	GL_TEXTURE_COORD_ARRAY_COUNT_EXT= 0x808B,
+	GL_EDGE_FLAG_ARRAY_STRIDE_EXT	= 0x808C,
+	GL_EDGE_FLAG_ARRAY_COUNT_EXT	= 0x808D,
+	GL_VERTEX_ARRAY_POINTER_EXT	= 0x808E,
+	GL_NORMAL_ARRAY_POINTER_EXT	= 0x808F,
+	GL_COLOR_ARRAY_POINTER_EXT	= 0x8090,
+	GL_INDEX_ARRAY_POINTER_EXT	= 0x8091,
+	GL_TEXTURE_COORD_ARRAY_POINTER_EXT= 0x8092,
+	GL_EDGE_FLAG_ARRAY_POINTER_EXT	= 0x8093
+
+};
+
+typedef enum {
+	GL_TEXT_SIZE8x8 = 1,
+	GL_TEXT_SIZE16x16 = 2,
+	GL_TEXT_SIZE24x24 = 3,
+	GL_TEXT_SIZE32x32 = 4,
+	GL_TEXT_SIZE40x40 = 5,
+	GL_TEXT_SIZE48x48 = 6,
+	GL_TEXT_SIZE56x56 = 7,
+	GL_TEXT_SIZE64x64 = 8
+} GLTEXTSIZE;
+enum {
+	GL_CURRENT_BIT		= 0x00000001,
+	GL_POINT_BIT		= 0x00000002,
+	GL_LINE_BIT		= 0x00000004,
+	GL_POLYGON_BIT		= 0x00000008,
+	GL_POLYGON_STIPPLE_BIT	= 0x00000010,
+	GL_PIXEL_MODE_BIT	= 0x00000020,
+	GL_LIGHTING_BIT		= 0x00000040,
+	GL_FOG_BIT		= 0x00000080,
+	GL_DEPTH_BUFFER_BIT	= 0x00000100,
+	GL_ACCUM_BUFFER_BIT	= 0x00000200,
+	GL_STENCIL_BUFFER_BIT	= 0x00000400,
+	GL_VIEWPORT_BIT		= 0x00000800,
+	GL_TRANSFORM_BIT	= 0x00001000,
+	GL_ENABLE_BIT		= 0x00002000,
+	GL_COLOR_BUFFER_BIT	= 0x00004000,
+	GL_HINT_BIT		= 0x00008000,
+	GL_EVAL_BIT		= 0x00010000,
+	GL_LIST_BIT		= 0x00020000,
+	GL_TEXTURE_BIT		= 0x00040000,
+	GL_SCISSOR_BIT		= 0x00080000,
+	GL_ALL_ATTRIB_BITS	= 0x000fffff
+};
+
+/* some types */
+
+typedef int		GLenum;
+typedef void		GLvoid;
+typedef unsigned char	GLboolean;
+typedef signed char	GLbyte;		/* 1-byte signed */
+typedef short		GLshort;	/* 2-byte signed */
+typedef int		GLint;		/* 4-byte signed */
+typedef unsigned char	GLubyte;	/* 1-byte unsigned */
+typedef unsigned short	GLushort;	/* 2-byte unsigned */
+typedef unsigned int	GLuint;		/* 4-byte unsigned */
+typedef float		GLfloat;	/* single precision float */
+typedef double		GLdouble;	/* double precision float */
+typedef int GLsizei;
+
+/* functions */
+
+void glEnable(int code);
+void glDisable(int code);
+
+
+void glShadeModel(int mode);
+void glCullFace(int mode);
+void glPolygonMode(int face,int mode);
+
+void glBegin(int type);
+void glEnd(void);
+
+//NEW functions added by GEK!!!
+void glSetEnableSpecular(int s); //Toggle specular rendering (Speedup!!!)
+void* glGetTexturePixmap(int text, int level, int* xsize, int* ysize); //Get the raw data of a texture!
+void glDrawText(const unsigned char* text, int x, int y, unsigned int pixel); //Blit 8x8 text to he screen
+void glTextSize(GLTEXTSIZE mode); //Set text size
+void glPlotPixel(int x, int y, unsigned int pixel); //plot a pixel to the screen.
+
+#define PROTO_GL1(name)				\
+void gl ## name ## 1f(float);	\
+void gl ## name ## 1d(double);	\
+void gl ## name ## 1fv(float *);		\
+void gl ## name ## 1dv(double *);
+
+#define PROTO_GL2(name)				\
+void gl ## name ## 2f(float ,float);	\
+void gl ## name ## 2d(double ,double);	\
+void gl ## name ## 2fv(float *);		\
+void gl ## name ## 2dv(double *);
+
+#define PROTO_GL3(name)				\
+void gl ## name ## 3f(float ,float ,float);	\
+void gl ## name ## 3d(double ,double ,double);	\
+void gl ## name ## 3fv(float *);		\
+void gl ## name ## 3dv(double *);
+
+#define PROTO_GL4(name)				\
+void gl ## name ## 4f(float ,float ,float, float );	\
+void gl ## name ## 4d(double ,double ,double, double );	\
+void gl ## name ## 4fv(float *);		\
+void gl ## name ## 4dv(double *);
+
+PROTO_GL2(Vertex)
+PROTO_GL3(Vertex)
+PROTO_GL4(Vertex)
+
+PROTO_GL3(Color)
+PROTO_GL4(Color)
+
+PROTO_GL3(Normal)
+
+PROTO_GL1(TexCoord)
+PROTO_GL2(TexCoord)
+PROTO_GL3(TexCoord)
+PROTO_GL4(TexCoord)
+
+void glEdgeFlag(int flag);
+
+/* matrix */
+void glMatrixMode(int mode);
+void glLoadMatrixf(const float *m);
+void glLoadIdentity(void);
+void glMultMatrixf(const float *m);
+void glPushMatrix(void);
+void glPopMatrix(void);
+void glRotatef(float angle,float x,float y,float z);
+void glTranslatef(float x,float y,float z);
+void glScalef(float x,float y,float z);
+
+void glViewport(int x,int y,int width,int height);
+void glFrustum(double left,double right,double bottom,double top,
+               double near,double far);
+
+/* lists */
+unsigned int glGenLists(int range);
+int glIsList(unsigned int list);
+void glNewList(unsigned int list,int mode);
+void glEndList(void);
+void glCallList(unsigned int list);
+void glDeleteList(unsigned int list);
+void glDeleteLists(unsigned int list, unsigned int range);
+/* clear */
+void glClear(int mask);
+void glClearColor(float r,float g,float b,float a);
+void glClearDepth(double depth);
+
+/* selection */
+int glRenderMode(int mode);
+void glSelectBuffer(int size,unsigned int *buf);
+
+void glInitNames(void);
+void glPushName(unsigned int name);
+void glPopName(void);
+void glLoadName(unsigned int name);
+
+/* textures */
+void glGenTextures(int n, unsigned int *textures);
+void glDeleteTextures(int n, const unsigned int *textures);
+void glBindTexture(int target,int texture);
+void glTexImage2D( int target, int level, int components,
+		    int width, int height, int border,
+                    int format, int type, void *pixels);
+void glTexEnvi(int target,int pname,int param);
+void glTexParameteri(int target,int pname,int param);
+void glPixelStorei(int pname,int param);
+
+/* lighting */
+
+void glMaterialfv(int mode,int type,float *v);
+void glMaterialf(int mode,int type,float v);
+void glColorMaterial(int mode,int type);
+
+void glLightfv(int light,int type,float *v);
+void glLightf(int light,int type,float v);
+void glLightModeli(int pname,int param);
+void glLightModelfv(int pname,float *param);
+
+/* misc */
+
+void glFlush(void);
+void glHint(int target,int mode);
+void glGetIntegerv(int pname,int *params);
+void glGetFloatv(int pname, float *v);
+void glFrontFace(int mode);
+
+/* opengl 1.2 arrays */
+void glEnableClientState(GLenum array);
+void glDisableClientState(GLenum array);
+void glArrayElement(GLint i);
+void glVertexPointer(GLint size, GLenum type, GLsizei stride, 
+                     const GLvoid *pointer);
+void glColorPointer(GLint size, GLenum type, GLsizei stride, 
+                     const GLvoid *pointer);
+void glNormalPointer(GLenum type, GLsizei stride, 
+                      const GLvoid *pointer);
+void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, 
+                       const GLvoid *pointer);
+
+/* opengl 1.2 polygon offset */
+void glPolygonOffset(GLfloat factor, GLfloat units);
+
+/* not implemented, just added to compile  */
+  /*
+inline void glPointSize(float) {}
+inline void glLineWidth(float) {}
+inline void glDeleteLists(int, int) {}
+inline void glDepthFunc(int) {}
+inline void glBlendFunc(int, int) {}
+inline void glTexEnvf(int, int, int) {}
+inline void glOrtho(float,float,float,float,float,float){}
+inline void glVertex2i(int,int) {}
+inline void glDepthMask(int) {}
+inline void glFogi(int, int) {}
+inline void glFogfv(int, const float*) {}
+inline void glFogf(int, float) {}
+inline void glRasterPos2f(float, float) {}
+inline void glPolygonStipple(void*) {}
+inline void glTexParameterf(int, int, int) {};
+  */
+void glPolygonStipple(void* a); //TODO: implement
+/* non compatible functions */
+
+void glDebug(int mode);
+
+void glInit(void *zbuffer);
+void glClose(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null
+++ b/include/GL/glx_unused.h
@@ -1,0 +1,144 @@
+#ifndef GLX_H
+#define GLX_H
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include "GL/gl.h"
+
+
+/* the following comes from Mesa */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define GLX_VERSION_1_1		1
+
+
+/*
+ * Tokens for glXChooseVisual and glXGetConfig:
+ */
+enum _GLX_CONFIGS {
+	GLX_USE_GL		= 1,
+	GLX_BUFFER_SIZE		= 2,
+	GLX_LEVEL		= 3,
+	GLX_RGBA		= 4,
+	GLX_DOUBLEBUFFER	= 5, 
+	GLX_STEREO		= 6,
+	GLX_AUX_BUFFERS		= 7,
+	GLX_RED_SIZE		= 8,
+	GLX_GREEN_SIZE		= 9,
+	GLX_BLUE_SIZE		= 10,
+	GLX_ALPHA_SIZE		= 11,
+	GLX_DEPTH_SIZE		= 12,
+	GLX_STENCIL_SIZE	= 13,
+	GLX_ACCUM_RED_SIZE	= 14,
+	GLX_ACCUM_GREEN_SIZE	= 15,
+	GLX_ACCUM_BLUE_SIZE	= 16,
+	GLX_ACCUM_ALPHA_SIZE	= 17,
+
+	/* GLX_EXT_visual_info extension */
+	GLX_X_VISUAL_TYPE_EXT		= 0x22,
+	GLX_TRANSPARENT_TYPE_EXT	= 0x23,
+	GLX_TRANSPARENT_INDEX_VALUE_EXT	= 0x24,
+	GLX_TRANSPARENT_RED_VALUE_EXT	= 0x25,
+	GLX_TRANSPARENT_GREEN_VALUE_EXT	= 0x26,
+	GLX_TRANSPARENT_BLUE_VALUE_EXT	= 0x27,
+	GLX_TRANSPARENT_ALPHA_VALUE_EXT	= 0x28
+};
+
+
+/*
+ * Error codes returned by glXGetConfig:
+ */
+#define GLX_BAD_SCREEN		1
+#define GLX_BAD_ATTRIBUTE	2
+#define GLX_NO_EXTENSION	3
+#define GLX_BAD_VISUAL		4
+#define GLX_BAD_CONTEXT		5
+#define GLX_BAD_VALUE       	6
+#define GLX_BAD_ENUM		7
+
+
+/*
+ * GLX 1.1 and later:
+ */
+#define GLX_VENDOR		1
+#define GLX_VERSION		2
+#define GLX_EXTENSIONS 		3
+
+
+/*
+ * GLX_visual_info extension
+ */
+#define GLX_TRUE_COLOR_EXT		0x8002
+#define GLX_DIRECT_COLOR_EXT		0x8003
+#define GLX_PSEUDO_COLOR_EXT		0x8004
+#define GLX_STATIC_COLOR_EXT		0x8005
+#define GLX_GRAY_SCALE_EXT		0x8006
+#define GLX_STATIC_GRAY_EXT		0x8007
+#define GLX_NONE_EXT			0x8000
+#define GLX_TRANSPARENT_RGB_EXT		0x8008
+#define GLX_TRANSPARENT_INDEX_EXT	0x8009
+
+
+typedef void *GLXContext;
+typedef Pixmap GLXPixmap;
+typedef Drawable GLXDrawable;
+typedef XID GLXContextID;
+
+
+extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
+				     int *attribList );
+
+extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
+				    GLXContext shareList, Bool direct );
+
+extern void glXDestroyContext( Display *dpy, GLXContext ctx );
+
+extern Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable,
+			    GLXContext ctx);
+
+extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
+			    GLuint mask );
+
+extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
+
+extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
+				     Pixmap pixmap );
+
+extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
+
+extern Bool glXQueryExtension( Display *dpy, int *errorb, int *event );
+
+extern Bool glXQueryVersion( Display *dpy, int *maj, int *min );
+
+extern Bool glXIsDirect( Display *dpy, GLXContext ctx );
+
+extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
+			 int attrib, int *value );
+
+extern GLXContext glXGetCurrentContext( void );
+
+extern GLXDrawable glXGetCurrentDrawable( void );
+
+extern void glXWaitGL( void );
+
+extern void glXWaitX( void );
+
+extern void glXUseXFont( Font font, int first, int count, int list );
+
+
+/* GLX 1.1 and later */
+extern const char *glXQueryExtensionsString( Display *dpy, int screen );
+
+extern const char *glXQueryServerString( Display *dpy, int screen, int name );
+
+extern const char *glXGetClientString( Display *dpy, int name );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null
+++ b/include/GL/nglx_unused.h
@@ -1,0 +1,27 @@
+#ifndef NGLX_H
+#define NGLX_H
+
+#include <microwin/nano-X.h>
+#include "GL/gl.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *NGLXContext;
+typedef GR_DRAW_ID NGLXDrawable;
+
+extern NGLXContext nglXCreateContext( NGLXContext shareList, int flags );
+
+extern void nglXDestroyContext( NGLXContext ctx );
+
+extern int nglXMakeCurrent( NGLXDrawable drawable,
+			    NGLXContext ctx);
+
+extern void nglXSwapBuffers( NGLXDrawable drawable );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null
+++ b/include/GL/oscontext_unused.h
@@ -1,0 +1,37 @@
+#ifndef _tgl_osbuffer_h_
+#define _tgl_osbuffer_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+  void **zbs;
+  void **framebuffers;
+  int numbuffers;
+  int xsize, ysize;
+} ostgl_context;
+
+ostgl_context *
+ostgl_create_context(const int xsize,
+                     const int ysize,
+                     const int depth,
+                     void **framebuffers,
+                     const int numbuffers);
+void
+ostgl_delete_context(ostgl_context *context);
+
+void
+ostgl_make_current(ostgl_context *context, const int index);
+
+void
+ostgl_resize(ostgl_context * context,
+             const int xsize,
+             const int ysize,
+             void **framebuffers);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _tgl_osbuffer_h_ */
--- /dev/null
+++ b/include/zbuffer.h
@@ -1,0 +1,142 @@
+#ifndef _tgl_zbuffer_h_
+#define _tgl_zbuffer_h_
+
+/*
+ * Z buffer
+ */
+
+#include "zfeatures.h"
+
+#define ZB_Z_BITS 16
+
+#define ZB_POINT_Z_FRAC_BITS 14
+
+#define ZB_POINT_S_MIN ( (1<<13) )
+#define ZB_POINT_S_MAX ( (1<<22)-(1<<13) )
+#define ZB_POINT_T_MIN ( (1<<21) )
+#define ZB_POINT_T_MAX ( (1<<30)-(1<<21) )
+/*
+#define ZB_POINT_RED_MIN ( (1<<10) )
+#define ZB_POINT_RED_MAX ( (1<<16)-(1<<10) )
+#define ZB_POINT_GREEN_MIN ( (1<<9) )
+#define ZB_POINT_GREEN_MAX ( (1<<16)-(1<<9) )
+#define ZB_POINT_BLUE_MIN ( (1<<10) )
+#define ZB_POINT_BLUE_MAX ( (1<<16)-(1<<10) )
+*/
+/* display modes */
+#define ZB_MODE_5R6G5B  1  /* true color 16 bits */
+#define ZB_MODE_INDEX   2  /* color index 8 bits */
+#define ZB_MODE_RGBA    3  /* 32 bit ABGR mode */
+#define ZB_MODE_RGB24   4  /* 24 bit rgb mode */
+#define ZB_NB_COLORS    225 /* number of colors for 8 bit display */
+
+
+
+
+
+#if TGL_FEATURE_RENDER_BITS == 32
+
+/* 32 bit mode */
+#define RGB_TO_PIXEL(r,g,b) ( ((b&65280)<<8) | ((g&65280)) | ((r&65280)>>8) )
+typedef unsigned int PIXEL;
+#define PSZB 4
+#define PSZSH 5
+
+#elif TGL_FEATURE_RENDER_BITS == 16
+
+/* 16 bit mode */
+#define RGB_TO_PIXEL(r,g,b) (((r) & 0xF800) | (((g) >> 5) & 0x07E0) | ((b) >> 11))
+typedef unsigned short PIXEL;
+#define PSZB 2 
+#define PSZSH 4 
+
+
+#else
+
+#error wrong TGL_FEATURE_RENDER_BITS buddy
+
+#endif
+
+typedef struct {
+    int xsize,ysize;
+    int linesize; /* line size, in bytes */
+    int mode;
+    
+    unsigned short *zbuf;
+    PIXEL *pbuf;
+    int frame_buffer_allocated;
+    /* opengl polygon stipple*/
+    int dostipple;
+    unsigned char stipplepattern[TGL_POLYGON_STIPPLE_BYTES]; //32 bits wide, 32 bits tall. 32 * 4 bytes.
+     
+    int nb_colors;
+    unsigned char *dctable;
+    int *ctable;
+    PIXEL *current_texture;
+} ZBuffer;
+
+typedef struct {
+  int x,y,z;     /* integer coordinates in the zbuffer */
+  int s,t;       /* coordinates for the mapping */
+  int r,g,b;     /* color indexes */
+  
+  float sz,tz;   /* temporary coordinates for mapping */
+} ZBufferPoint;
+
+/* zbuffer.c */
+
+ZBuffer *ZB_open(int xsize,int ysize,int mode,
+		 int nb_colors,
+		 unsigned char *color_indexes,
+		 int *color_table,
+		 void *frame_buffer);
+
+
+void ZB_close(ZBuffer *zb);
+
+void ZB_resize(ZBuffer *zb,void *frame_buffer,int xsize,int ysize);
+void ZB_clear(ZBuffer *zb,int clear_z,int z,
+	      int clear_color,int r,int g,int b);
+/* linesize is in BYTES */
+void ZB_copyFrameBuffer(ZBuffer *zb,void *buf,int linesize);
+
+/* zdither.c */
+
+void ZB_initDither(ZBuffer *zb,int nb_colors,
+		   unsigned char *color_indexes,int *color_table);
+void ZB_closeDither(ZBuffer *zb);
+void ZB_ditherFrameBuffer(ZBuffer *zb,unsigned char *dest,
+			  int linesize);
+
+/* zline.c */
+
+void ZB_plot(ZBuffer *zb,ZBufferPoint *p);
+void ZB_line(ZBuffer *zb,ZBufferPoint *p1,ZBufferPoint *p2);
+void ZB_line_z(ZBuffer * zb, ZBufferPoint * p1, ZBufferPoint * p2);
+
+/* ztriangle.c */
+
+void ZB_setTexture(ZBuffer *zb, PIXEL *texture);
+
+void ZB_fillTriangleFlat(ZBuffer *zb,
+		 ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
+
+void ZB_fillTriangleSmooth(ZBuffer *zb,
+		   ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
+
+void ZB_fillTriangleMapping(ZBuffer *zb,
+		    ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
+
+void ZB_fillTriangleMappingPerspective(ZBuffer *zb,
+                    ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
+
+
+typedef void (*ZB_fillTriangleFunc)(ZBuffer  *,
+	    ZBufferPoint *,ZBufferPoint *,ZBufferPoint *);
+
+/* memory.c */
+void gl_free(void *p);
+void *gl_malloc(int size);
+void *gl_zalloc(int size);
+
+#endif /* _tgl_zbuffer_h_ */
--- /dev/null
+++ b/include/zfeatures.h
@@ -1,0 +1,76 @@
+#ifndef _tgl_features_h_
+#define _tgl_features_h_
+
+/* It is possible to enable/disable (compile time) features in this
+   header file. */
+
+#define TGL_FEATURE_ARRAYS         1
+#define TGL_FEATURE_DISPLAYLISTS   1
+#define TGL_FEATURE_POLYGON_OFFSET 1
+
+#define TGL_FEATURE_POLYGON_STIPPLE 1
+//A stipple pattern is 128 bytes in size.
+#define TGL_POLYGON_STIPPLE_BYTES 128
+//A stipple pattern is 2^5 (32) bits wide.
+#define TGL_POLYGON_STIPPLE_POW2_WIDTH 5
+//The stipple pattern mask (the last bits of the screen coordinates used for indexing)
+//The default pattern is 32 bits wide and 32 bits tall, or 4 bytes per row and 32 tall, 4 * 32 128 bytes.
+#define TGL_POLYGON_STIPPLE_MASK_X 31
+#define TGL_POLYGON_STIPPLE_MASK_Y 31
+
+//These are features useful for integrating TinyGL with other renderers.
+#define TGL_FEATURE_NO_COPY_COLOR 0
+#define TGL_FEATURE_FORCE_CLEAR_NO_COPY_COLOR 0
+#define TGL_NO_COPY_COLOR 0xff00ff
+//NOTE: fc02fc is what you'll get if you set glColor3f to 1,0,1. 
+//^ solid debug pink.
+#define TGL_COLOR_MASK 0xffffffff
+//^ mask to check for copybuffer. This is configured for the default mode.
+
+/*
+ * Matrix of internal and external pixel formats supported. 'Y' means
+ * supported.
+ * 
+ *           External  8    16    24    32
+ * Internal 
+ *  15                 .     .     .     .
+ *  16                 Y     Y     Y     Y
+ *  24                 .     Y     Y     .
+ *  32                 .     Y     .     Y
+ * 
+ *
+ * 15 bpp does not work yet (although it is easy to add it - ask me if
+ * you need it).
+ * 
+ * Internal pixel format: see TGL_FEATURE_RENDER_BITS
+ * External pixel format: see TGL_FEATURE_xxx_BITS 
+ */
+
+/* enable various convertion code from internal pixel format (usually
+   16 bits per pixel) to any external format */
+#define TGL_FEATURE_8_BITS         0
+#define TGL_FEATURE_24_BITS        0
+//These are the only maintained modes.
+#define TGL_FEATURE_16_BITS        0
+#define TGL_FEATURE_32_BITS        1
+
+//MAINTAINER'S NOTE: Only TGL_FEATURE_RENDER_BITS 32 is maintained.
+//TODO: Include support for 16 bit.
+//All others are experimental.
+//24 bit is broken.
+//#define TGL_FEATURE_RENDER_BITS    15
+//#define TGL_FEATURE_RENDER_BITS    16
+//#define TGL_FEATURE_RENDER_BITS    24 //BROKEN!
+#if TGL_FEATURE_32_BITS == 1
+#define TGL_FEATURE_RENDER_BITS    32
+
+#elif TGL_FEATURE_16_BITS == 1
+#define TGL_FEATURE_RENDER_BITS    16
+
+#else
+#error Unsupported TGL_FEATURE_RENDER_BITS
+
+#endif
+
+
+#endif /* _tgl_features_h_ */
--- a/src/Makefile
+++ b/src/Makefile
@@ -3,7 +3,7 @@
 OBJS= api.o list.o vertex.o init.o matrix.o texture.o \
       misc.o clear.o light.o clip.o select.o get.o error.o \
       zbuffer.o zline.o zdither.o ztriangle.o \
-      zmath.o image_util.o oscontext.o msghandling.o \
+      zmath.o image_util.o msghandling.o \
       arrays.o specbuf.o memory.o ztext.o
 ifdef TINYGL_USE_GLX
 #OBJS += glx.o
@@ -29,16 +29,16 @@
 .c.o:
 	$(CC) $(CFLAGS) $(INCLUDES) -c $*.c
 
-clip.o: zgl.h include/zfeatures.h
-vertex.o: zgl.h include/zfeatures.h
-light.o: zgl.h include/zfeatures.h
-matrix.o: zgl.h include/zfeatures.h
-list.o: zgl.h opinfo.h include/zfeatures.h
-arrays.c: zgl.h include/zfeatures.h
-specbuf.o: zgl.h include/zfeatures.h
-glx.o: zgl.h include/zfeatures.h
-nglx.o: zgl.h include/zfeatures.h
-zline.o: zgl.h include/zfeatures.h zline.h
+clip.o: zgl.h ../include/zfeatures.h
+vertex.o: zgl.h ../include/zfeatures.h
+light.o: zgl.h ../include/zfeatures.h
+matrix.o: zgl.h ../include/zfeatures.h
+list.o: zgl.h opinfo.h ../include/zfeatures.h
+arrays.c: zgl.h ../include/zfeatures.h
+specbuf.o: zgl.h ../include/zfeatures.h
+glx.o: zgl.h ../include/zfeatures.h
+nglx.o: zgl.h ../include/zfeatures.h
+zline.o: zgl.h ../include/zfeatures.h zline.h
 
-ztriangle.o: ztriangle.c ztriangle.h zgl.h include/zfeatures.h
+ztriangle.o: ztriangle.c ztriangle.h zgl.h ../include/zfeatures.h
 	$(CC) $(CFLAGS) -Wno-uninitialized $(INCLUDES) -c $*.c
--- a/src/include/GL/gl.h
+++ /dev/null
@@ -1,858 +1,0 @@
-/*
- * The following constants come from Mesa
- */
-#ifndef GL_H
-#define GL_H
-
-#define GL_VERSION_1_1 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-enum {
-	/* Boolean values */
-	GL_FALSE			= 0,
-	GL_TRUE				= 1,
-
-	/* Data types */
-	GL_BYTE				= 0x1400,
-	GL_UNSIGNED_BYTE		= 0x1401,
-	GL_SHORT			= 0x1402,
-	GL_UNSIGNED_SHORT		= 0x1403,
-	GL_INT				= 0x1404,
-	GL_UNSIGNED_INT			= 0x1405,
-	GL_FLOAT			= 0x1406,
-	GL_DOUBLE			= 0x140A,
-	GL_2_BYTES			= 0x1407,
-	GL_3_BYTES			= 0x1408,
-	GL_4_BYTES			= 0x1409,
-
-	/* Primitives */
-	GL_LINES			= 0x0001,
-	GL_POINTS			= 0x0000,
-	GL_LINE_STRIP			= 0x0003,
-	GL_LINE_LOOP			= 0x0002,
-	GL_TRIANGLES			= 0x0004,
-	GL_TRIANGLE_STRIP		= 0x0005,
-	GL_TRIANGLE_FAN			= 0x0006,
-	GL_QUADS			= 0x0007,
-	GL_QUAD_STRIP			= 0x0008,
-	GL_POLYGON			= 0x0009,
-	GL_EDGE_FLAG			= 0x0B43,
-
-	/* Vertex Arrays */
-	GL_VERTEX_ARRAY			= 0x8074,
-	GL_NORMAL_ARRAY			= 0x8075,
-	GL_COLOR_ARRAY			= 0x8076,
-	GL_INDEX_ARRAY			= 0x8077,
-	GL_TEXTURE_COORD_ARRAY		= 0x8078,
-	GL_EDGE_FLAG_ARRAY		= 0x8079,
-	GL_VERTEX_ARRAY_SIZE		= 0x807A,
-	GL_VERTEX_ARRAY_TYPE		= 0x807B,
-	GL_VERTEX_ARRAY_STRIDE		= 0x807C,
-	GL_VERTEX_ARRAY_COUNT		= 0x807D,
-	GL_NORMAL_ARRAY_TYPE		= 0x807E,
-	GL_NORMAL_ARRAY_STRIDE		= 0x807F,
-	GL_NORMAL_ARRAY_COUNT		= 0x8080,
-	GL_COLOR_ARRAY_SIZE		= 0x8081,
-	GL_COLOR_ARRAY_TYPE		= 0x8082,
-	GL_COLOR_ARRAY_STRIDE		= 0x8083,
-	GL_COLOR_ARRAY_COUNT		= 0x8084,
-	GL_INDEX_ARRAY_TYPE		= 0x8085,
-	GL_INDEX_ARRAY_STRIDE		= 0x8086,
-	GL_INDEX_ARRAY_COUNT		= 0x8087,
-	GL_TEXTURE_COORD_ARRAY_SIZE	= 0x8088,
-	GL_TEXTURE_COORD_ARRAY_TYPE	= 0x8089,
-	GL_TEXTURE_COORD_ARRAY_STRIDE	= 0x808A,
-	GL_TEXTURE_COORD_ARRAY_COUNT	= 0x808B,
-	GL_EDGE_FLAG_ARRAY_STRIDE	= 0x808C,
-	GL_EDGE_FLAG_ARRAY_COUNT	= 0x808D,
-	GL_VERTEX_ARRAY_POINTER		= 0x808E,
-	GL_NORMAL_ARRAY_POINTER		= 0x808F,
-	GL_COLOR_ARRAY_POINTER		= 0x8090,
-	GL_INDEX_ARRAY_POINTER		= 0x8091,
-	GL_TEXTURE_COORD_ARRAY_POINTER	= 0x8092,
-	GL_EDGE_FLAG_ARRAY_POINTER	= 0x8093,
-        GL_V2F				= 0x2A20,
-	GL_V3F				= 0x2A21,
-	GL_C4UB_V2F			= 0x2A22,
-	GL_C4UB_V3F			= 0x2A23,
-	GL_C3F_V3F			= 0x2A24,
-	GL_N3F_V3F			= 0x2A25,
-	GL_C4F_N3F_V3F			= 0x2A26,
-	GL_T2F_V3F			= 0x2A27,
-	GL_T4F_V4F			= 0x2A28,
-	GL_T2F_C4UB_V3F			= 0x2A29,
-	GL_T2F_C3F_V3F			= 0x2A2A,
-	GL_T2F_N3F_V3F			= 0x2A2B,
-	GL_T2F_C4F_N3F_V3F		= 0x2A2C,
-	GL_T4F_C4F_N3F_V4F		= 0x2A2D,
-
-	/* Matrix Mode */
-	GL_MATRIX_MODE			= 0x0BA0,
-	GL_MODELVIEW			= 0x1700,
-	GL_PROJECTION			= 0x1701,
-	GL_TEXTURE			= 0x1702,
-
-	/* Points */
-	GL_POINT_SMOOTH			= 0x0B10,
-	GL_POINT_SIZE			= 0x0B11,
-	GL_POINT_SIZE_GRANULARITY 	= 0x0B13,
-	GL_POINT_SIZE_RANGE		= 0x0B12,
-
-	/* Lines */
-	GL_LINE_SMOOTH			= 0x0B20,
-	GL_LINE_STIPPLE			= 0x0B24,
-	GL_LINE_STIPPLE_PATTERN		= 0x0B25,
-	GL_LINE_STIPPLE_REPEAT		= 0x0B26,
-	GL_LINE_WIDTH			= 0x0B21,
-	GL_LINE_WIDTH_GRANULARITY	= 0x0B23,
-	GL_LINE_WIDTH_RANGE		= 0x0B22,
-
-	/* Polygons */
-	GL_POINT			= 0x1B00,
-	GL_LINE				= 0x1B01,
-	GL_FILL				= 0x1B02,
-	GL_CCW				= 0x0901,
-	GL_CW				= 0x0900,
-	GL_FRONT			= 0x0404,
-	GL_BACK				= 0x0405,
-	GL_CULL_FACE			= 0x0B44,
-	GL_CULL_FACE_MODE		= 0x0B45,
-	GL_POLYGON_SMOOTH		= 0x0B41,
-	GL_POLYGON_STIPPLE		= 0x0B42,
-	GL_FRONT_FACE			= 0x0B46,
-	GL_POLYGON_MODE			= 0x0B40,
-	GL_POLYGON_OFFSET_FACTOR	= 0x3038,
-	GL_POLYGON_OFFSET_UNITS		= 0x2A00,
-	GL_POLYGON_OFFSET_POINT		= 0x2A01,
-	GL_POLYGON_OFFSET_LINE		= 0x2A02,
-	GL_POLYGON_OFFSET_FILL		= 0x8037,
-
-	/* Display Lists */
-	GL_COMPILE			= 0x1300,
-	GL_COMPILE_AND_EXECUTE		= 0x1301,
-	GL_LIST_BASE			= 0x0B32,
-	GL_LIST_INDEX			= 0x0B33,
-	GL_LIST_MODE			= 0x0B30,
-
-	/* Depth buffer */
-	GL_NEVER			= 0x0200,
-	GL_LESS				= 0x0201,
-	GL_GEQUAL			= 0x0206,
-	GL_LEQUAL			= 0x0203,
-	GL_GREATER			= 0x0204,
-	GL_NOTEQUAL			= 0x0205,
-	GL_EQUAL			= 0x0202,
-	GL_ALWAYS			= 0x0207,
-	GL_DEPTH_TEST			= 0x0B71,
-	GL_DEPTH_BITS			= 0x0D56,
-	GL_DEPTH_CLEAR_VALUE		= 0x0B73,
-	GL_DEPTH_FUNC			= 0x0B74,
-	GL_DEPTH_RANGE			= 0x0B70,
-	GL_DEPTH_WRITEMASK		= 0x0B72,
-	GL_DEPTH_COMPONENT		= 0x1902,
-
-	/* Lighting */
-	GL_LIGHTING			= 0x0B50,
-	GL_LIGHT0			= 0x4000,
-	GL_LIGHT1			= 0x4001,
-	GL_LIGHT2			= 0x4002,
-	GL_LIGHT3			= 0x4003,
-	GL_LIGHT4			= 0x4004,
-	GL_LIGHT5			= 0x4005,
-	GL_LIGHT6			= 0x4006,
-	GL_LIGHT7			= 0x4007,
-	GL_SPOT_EXPONENT		= 0x1205,
-	GL_SPOT_CUTOFF			= 0x1206,
-	GL_CONSTANT_ATTENUATION		= 0x1207,
-	GL_LINEAR_ATTENUATION		= 0x1208,
-	GL_QUADRATIC_ATTENUATION	= 0x1209,
-	GL_AMBIENT			= 0x1200,
-	GL_DIFFUSE			= 0x1201,
-	GL_SPECULAR			= 0x1202,
-	GL_SHININESS			= 0x1601,
-	GL_EMISSION			= 0x1600,
-	GL_POSITION			= 0x1203,
-	GL_SPOT_DIRECTION		= 0x1204,
-	GL_AMBIENT_AND_DIFFUSE		= 0x1602,
-	GL_COLOR_INDEXES		= 0x1603,
-	GL_LIGHT_MODEL_TWO_SIDE		= 0x0B52,
-	GL_LIGHT_MODEL_LOCAL_VIEWER	= 0x0B51,
-	GL_LIGHT_MODEL_AMBIENT		= 0x0B53,
-	GL_FRONT_AND_BACK		= 0x0408,
-	GL_SHADE_MODEL			= 0x0B54,
-	GL_FLAT				= 0x1D00,
-	GL_SMOOTH			= 0x1D01,
-	GL_COLOR_MATERIAL		= 0x0B57,
-	GL_COLOR_MATERIAL_FACE		= 0x0B55,
-	GL_COLOR_MATERIAL_PARAMETER	= 0x0B56,
-	GL_NORMALIZE			= 0x0BA1,
-
-	/* User clipping planes */
-	GL_CLIP_PLANE0			= 0x3000,
-	GL_CLIP_PLANE1			= 0x3001,
-	GL_CLIP_PLANE2			= 0x3002,
-	GL_CLIP_PLANE3			= 0x3003,
-	GL_CLIP_PLANE4			= 0x3004,
-	GL_CLIP_PLANE5			= 0x3005,
-
-	/* Accumulation buffer */
-	GL_ACCUM_RED_BITS		= 0x0D58,
-	GL_ACCUM_GREEN_BITS		= 0x0D59,
-	GL_ACCUM_BLUE_BITS		= 0x0D5A,
-	GL_ACCUM_ALPHA_BITS		= 0x0D5B,
-	GL_ACCUM_CLEAR_VALUE		= 0x0B80,
-	GL_ACCUM			= 0x0100,
-	GL_ADD				= 0x0104,
-	GL_LOAD				= 0x0101,
-	GL_MULT				= 0x0103,
-	GL_RETURN			= 0x0102,
-
-	/* Alpha testing */
-	GL_ALPHA_TEST			= 0x0BC0,
-	GL_ALPHA_TEST_REF		= 0x0BC2,
-	GL_ALPHA_TEST_FUNC		= 0x0BC1,
-
-	/* Blending */
-	GL_BLEND			= 0x0BE2,
-	GL_BLEND_SRC			= 0x0BE1,
-	GL_BLEND_DST			= 0x0BE0,
-	GL_ZERO				= 0,
-	GL_ONE				= 1,
-	GL_SRC_COLOR			= 0x0300,
-	GL_ONE_MINUS_SRC_COLOR		= 0x0301,
-	GL_DST_COLOR			= 0x0306,
-	GL_ONE_MINUS_DST_COLOR		= 0x0307,
-	GL_SRC_ALPHA			= 0x0302,
-	GL_ONE_MINUS_SRC_ALPHA		= 0x0303,
-	GL_DST_ALPHA			= 0x0304,
-	GL_ONE_MINUS_DST_ALPHA		= 0x0305,
-	GL_SRC_ALPHA_SATURATE		= 0x0308,
-	GL_CONSTANT_COLOR		= 0x8001,
-	GL_ONE_MINUS_CONSTANT_COLOR	= 0x8002,
-	GL_CONSTANT_ALPHA		= 0x8003,
-	GL_ONE_MINUS_CONSTANT_ALPHA	= 0x8004,
-
-	/* Render Mode */
-	GL_FEEDBACK			= 0x1C01,
-	GL_RENDER			= 0x1C00,
-	GL_SELECT			= 0x1C02,
-
-	/* Feedback */
-	GL_2D				= 0x0600,
-	GL_3D				= 0x0601,
-	GL_3D_COLOR			= 0x0602,
-	GL_3D_COLOR_TEXTURE		= 0x0603,
-	GL_4D_COLOR_TEXTURE		= 0x0604,
-	GL_POINT_TOKEN			= 0x0701,
-	GL_LINE_TOKEN			= 0x0702,
-	GL_LINE_RESET_TOKEN		= 0x0707,
-	GL_POLYGON_TOKEN		= 0x0703,
-	GL_BITMAP_TOKEN			= 0x0704,
-	GL_DRAW_PIXEL_TOKEN		= 0x0705,
-	GL_COPY_PIXEL_TOKEN		= 0x0706,
-	GL_PASS_THROUGH_TOKEN		= 0x0700,
-
-	/* Fog */
-	GL_FOG				= 0x0B60,
-	GL_FOG_MODE			= 0x0B65,
-	GL_FOG_DENSITY			= 0x0B62,
-	GL_FOG_COLOR			= 0x0B66,
-	GL_FOG_INDEX			= 0x0B61,
-	GL_FOG_START			= 0x0B63,
-	GL_FOG_END			= 0x0B64,
-	GL_LINEAR			= 0x2601,
-	GL_EXP				= 0x0800,
-	GL_EXP2				= 0x0801,
-
-	/* Logic Ops */
-	GL_LOGIC_OP			= 0x0BF1,
-	GL_LOGIC_OP_MODE		= 0x0BF0,
-	GL_CLEAR			= 0x1500,
-	GL_SET				= 0x150F,
-	GL_COPY				= 0x1503,
-	GL_COPY_INVERTED		= 0x150C,
-	GL_NOOP				= 0x1505,
-	GL_INVERT			= 0x150A,
-	GL_AND				= 0x1501,
-	GL_NAND				= 0x150E,
-	GL_OR				= 0x1507,
-	GL_NOR				= 0x1508,
-	GL_XOR				= 0x1506,
-	GL_EQUIV			= 0x1509,
-	GL_AND_REVERSE			= 0x1502,
-	GL_AND_INVERTED			= 0x1504,
-	GL_OR_REVERSE			= 0x150B,
-	GL_OR_INVERTED			= 0x150D,
-
-	/* Stencil */
-	GL_STENCIL_TEST			= 0x0B90,
-	GL_STENCIL_WRITEMASK		= 0x0B98,
-	GL_STENCIL_BITS			= 0x0D57,
-	GL_STENCIL_FUNC			= 0x0B92,
-	GL_STENCIL_VALUE_MASK		= 0x0B93,
-	GL_STENCIL_REF			= 0x0B97,
-	GL_STENCIL_FAIL			= 0x0B94,
-	GL_STENCIL_PASS_DEPTH_PASS	= 0x0B96,
-	GL_STENCIL_PASS_DEPTH_FAIL	= 0x0B95,
-	GL_STENCIL_CLEAR_VALUE		= 0x0B91,
-	GL_STENCIL_INDEX		= 0x1901,
-	GL_KEEP				= 0x1E00,
-	GL_REPLACE			= 0x1E01,
-	GL_INCR				= 0x1E02,
-	GL_DECR				= 0x1E03,
-
-	/* Buffers, Pixel Drawing/Reading */
-	GL_NONE				= 0,
-	GL_LEFT				= 0x0406,
-	GL_RIGHT			= 0x0407,
-	/*GL_FRONT			= 0x0404, */
-	/*GL_BACK			= 0x0405, */
-	/*GL_FRONT_AND_BACK		= 0x0408, */
-	GL_FRONT_LEFT			= 0x0400,
-	GL_FRONT_RIGHT			= 0x0401,
-	GL_BACK_LEFT			= 0x0402,
-	GL_BACK_RIGHT			= 0x0403,
-	GL_AUX0				= 0x0409,
-	GL_AUX1				= 0x040A,
-	GL_AUX2				= 0x040B,
-	GL_AUX3				= 0x040C,
-	GL_COLOR_INDEX			= 0x1900,
-	GL_RED				= 0x1903,
-	GL_GREEN			= 0x1904,
-	GL_BLUE				= 0x1905,
-	GL_ALPHA			= 0x1906,
-	GL_LUMINANCE			= 0x1909,
-	GL_LUMINANCE_ALPHA		= 0x190A,
-	GL_ALPHA_BITS			= 0x0D55,
-	GL_RED_BITS			= 0x0D52,
-	GL_GREEN_BITS			= 0x0D53,
-	GL_BLUE_BITS			= 0x0D54,
-	GL_INDEX_BITS			= 0x0D51,
-	GL_SUBPIXEL_BITS		= 0x0D50,
-	GL_AUX_BUFFERS			= 0x0C00,
-	GL_READ_BUFFER			= 0x0C02,
-	GL_DRAW_BUFFER			= 0x0C01,
-	GL_DOUBLEBUFFER			= 0x0C32,
-	GL_STEREO			= 0x0C33,
-	GL_BITMAP			= 0x1A00,
-	GL_COLOR			= 0x1800,
-	GL_DEPTH			= 0x1801,
-	GL_STENCIL			= 0x1802,
-	GL_DITHER			= 0x0BD0,
-	GL_RGB				= 0x1907,
-	GL_RGBA				= 0x1908,
-
-	/* Implementation limits */
-	GL_MAX_LIST_NESTING		= 0x0B31,
-	GL_MAX_ATTRIB_STACK_DEPTH	= 0x0D35,
-	GL_MAX_MODELVIEW_STACK_DEPTH	= 0x0D36,
-	GL_MAX_NAME_STACK_DEPTH		= 0x0D37,
-	GL_MAX_PROJECTION_STACK_DEPTH	= 0x0D38,
-	GL_MAX_TEXTURE_STACK_DEPTH	= 0x0D39,
-	GL_MAX_EVAL_ORDER		= 0x0D30,
-	GL_MAX_LIGHTS			= 0x0D31,
-	GL_MAX_CLIP_PLANES		= 0x0D32,
-	GL_MAX_TEXTURE_SIZE		= 0x0D33,
-	GL_MAX_PIXEL_MAP_TABLE		= 0x0D34,
-	GL_MAX_VIEWPORT_DIMS		= 0x0D3A,
-	GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B,
-
-	/* Gets */
-	GL_ATTRIB_STACK_DEPTH		= 0x0BB0,
-	GL_COLOR_CLEAR_VALUE		= 0x0C22,
-	GL_COLOR_WRITEMASK		= 0x0C23,
-	GL_CURRENT_INDEX		= 0x0B01,
-	GL_CURRENT_COLOR		= 0x0B00,
-	GL_CURRENT_NORMAL		= 0x0B02,
-	GL_CURRENT_RASTER_COLOR		= 0x0B04,
-	GL_CURRENT_RASTER_DISTANCE	= 0x0B09,
-	GL_CURRENT_RASTER_INDEX		= 0x0B05,
-	GL_CURRENT_RASTER_POSITION	= 0x0B07,
-	GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
-	GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
-	GL_CURRENT_TEXTURE_COORDS	= 0x0B03,
-	GL_INDEX_CLEAR_VALUE		= 0x0C20,
-	GL_INDEX_MODE			= 0x0C30,
-	GL_INDEX_WRITEMASK		= 0x0C21,
-	GL_MODELVIEW_MATRIX		= 0x0BA6,
-	GL_MODELVIEW_STACK_DEPTH	= 0x0BA3,
-	GL_NAME_STACK_DEPTH		= 0x0D70,
-	GL_PROJECTION_MATRIX		= 0x0BA7,
-	GL_PROJECTION_STACK_DEPTH	= 0x0BA4,
-	GL_RENDER_MODE			= 0x0C40,
-	GL_RGBA_MODE			= 0x0C31,
-	GL_TEXTURE_MATRIX		= 0x0BA8,
-	GL_TEXTURE_STACK_DEPTH		= 0x0BA5,
-	GL_VIEWPORT			= 0x0BA2,
-
-
-	/* Evaluators */
-	GL_AUTO_NORMAL			= 0x0D80,
-	GL_MAP1_COLOR_4			= 0x0D90,
-	GL_MAP1_GRID_DOMAIN		= 0x0DD0,
-	GL_MAP1_GRID_SEGMENTS		= 0x0DD1,
-	GL_MAP1_INDEX			= 0x0D91,
-	GL_MAP1_NORMAL			= 0x0D92,
-	GL_MAP1_TEXTURE_COORD_1		= 0x0D93,
-	GL_MAP1_TEXTURE_COORD_2		= 0x0D94,
-	GL_MAP1_TEXTURE_COORD_3		= 0x0D95,
-	GL_MAP1_TEXTURE_COORD_4		= 0x0D96,
-	GL_MAP1_VERTEX_3		= 0x0D97,
-	GL_MAP1_VERTEX_4		= 0x0D98,
-	GL_MAP2_COLOR_4			= 0x0DB0,
-	GL_MAP2_GRID_DOMAIN		= 0x0DD2,
-	GL_MAP2_GRID_SEGMENTS		= 0x0DD3,
-	GL_MAP2_INDEX			= 0x0DB1,
-	GL_MAP2_NORMAL			= 0x0DB2,
-	GL_MAP2_TEXTURE_COORD_1		= 0x0DB3,
-	GL_MAP2_TEXTURE_COORD_2		= 0x0DB4,
-	GL_MAP2_TEXTURE_COORD_3		= 0x0DB5,
-	GL_MAP2_TEXTURE_COORD_4		= 0x0DB6,
-	GL_MAP2_VERTEX_3		= 0x0DB7,
-	GL_MAP2_VERTEX_4		= 0x0DB8,
-	GL_COEFF			= 0x0A00,
-	GL_DOMAIN			= 0x0A02,
-	GL_ORDER			= 0x0A01,
-
-	/* Hints */
-	GL_FOG_HINT			= 0x0C54,
-	GL_LINE_SMOOTH_HINT		= 0x0C52,
-	GL_PERSPECTIVE_CORRECTION_HINT	= 0x0C50,
-	GL_POINT_SMOOTH_HINT		= 0x0C51,
-	GL_POLYGON_SMOOTH_HINT		= 0x0C53,
-	GL_DONT_CARE			= 0x1100,
-	GL_FASTEST			= 0x1101,
-	GL_NICEST			= 0x1102,
-
-	/* Scissor box */
-	GL_SCISSOR_TEST			= 0x0C11,
-	GL_SCISSOR_BOX			= 0x0C10,
-
-	/* Pixel Mode / Transfer */
-	GL_MAP_COLOR			= 0x0D10,
-	GL_MAP_STENCIL			= 0x0D11,
-	GL_INDEX_SHIFT			= 0x0D12,
-	GL_INDEX_OFFSET			= 0x0D13,
-	GL_RED_SCALE			= 0x0D14,
-	GL_RED_BIAS			= 0x0D15,
-	GL_GREEN_SCALE			= 0x0D18,
-	GL_GREEN_BIAS			= 0x0D19,
-	GL_BLUE_SCALE			= 0x0D1A,
-	GL_BLUE_BIAS			= 0x0D1B,
-	GL_ALPHA_SCALE			= 0x0D1C,
-	GL_ALPHA_BIAS			= 0x0D1D,
-	GL_DEPTH_SCALE			= 0x0D1E,
-	GL_DEPTH_BIAS			= 0x0D1F,
-	GL_PIXEL_MAP_S_TO_S_SIZE	= 0x0CB1,
-	GL_PIXEL_MAP_I_TO_I_SIZE	= 0x0CB0,
-	GL_PIXEL_MAP_I_TO_R_SIZE	= 0x0CB2,
-	GL_PIXEL_MAP_I_TO_G_SIZE	= 0x0CB3,
-	GL_PIXEL_MAP_I_TO_B_SIZE	= 0x0CB4,
-	GL_PIXEL_MAP_I_TO_A_SIZE	= 0x0CB5,
-	GL_PIXEL_MAP_R_TO_R_SIZE	= 0x0CB6,
-	GL_PIXEL_MAP_G_TO_G_SIZE	= 0x0CB7,
-	GL_PIXEL_MAP_B_TO_B_SIZE	= 0x0CB8,
-	GL_PIXEL_MAP_A_TO_A_SIZE	= 0x0CB9,
-	GL_PIXEL_MAP_S_TO_S		= 0x0C71,
-	GL_PIXEL_MAP_I_TO_I		= 0x0C70,
-	GL_PIXEL_MAP_I_TO_R		= 0x0C72,
-	GL_PIXEL_MAP_I_TO_G		= 0x0C73,
-	GL_PIXEL_MAP_I_TO_B		= 0x0C74,
-	GL_PIXEL_MAP_I_TO_A		= 0x0C75,
-	GL_PIXEL_MAP_R_TO_R		= 0x0C76,
-	GL_PIXEL_MAP_G_TO_G		= 0x0C77,
-	GL_PIXEL_MAP_B_TO_B		= 0x0C78,
-	GL_PIXEL_MAP_A_TO_A		= 0x0C79,
-	GL_PACK_ALIGNMENT		= 0x0D05,
-	GL_PACK_LSB_FIRST		= 0x0D01,
-	GL_PACK_ROW_LENGTH		= 0x0D02,
-	GL_PACK_SKIP_PIXELS		= 0x0D04,
-	GL_PACK_SKIP_ROWS		= 0x0D03,
-	GL_PACK_SWAP_BYTES		= 0x0D00,
-	GL_UNPACK_ALIGNMENT		= 0x0CF5,
-	GL_UNPACK_LSB_FIRST		= 0x0CF1,
-	GL_UNPACK_ROW_LENGTH		= 0x0CF2,
-	GL_UNPACK_SKIP_PIXELS		= 0x0CF4,
-	GL_UNPACK_SKIP_ROWS		= 0x0CF3,
-	GL_UNPACK_SWAP_BYTES		= 0x0CF0,
-	GL_ZOOM_X			= 0x0D16,
-	GL_ZOOM_Y			= 0x0D17,
-
-	/* Texture mapping */
-	GL_TEXTURE_ENV			= 0x2300,
-	GL_TEXTURE_ENV_MODE		= 0x2200,
-	GL_TEXTURE_1D			= 0x0DE0,
-	GL_TEXTURE_2D			= 0x0DE1,
-	GL_TEXTURE_WRAP_S		= 0x2802,
-	GL_TEXTURE_WRAP_T		= 0x2803,
-	GL_TEXTURE_MAG_FILTER		= 0x2800,
-	GL_TEXTURE_MIN_FILTER		= 0x2801,
-	GL_TEXTURE_ENV_COLOR		= 0x2201,
-	GL_TEXTURE_GEN_S		= 0x0C60,
-	GL_TEXTURE_GEN_T		= 0x0C61,
-	GL_TEXTURE_GEN_MODE		= 0x2500,
-	GL_TEXTURE_BORDER_COLOR		= 0x1004,
-	GL_TEXTURE_WIDTH		= 0x1000,
-	GL_TEXTURE_HEIGHT		= 0x1001,
-	GL_TEXTURE_BORDER		= 0x1005,
-	GL_TEXTURE_COMPONENTS		= 0x1003,
-	GL_NEAREST_MIPMAP_NEAREST	= 0x2700,
-	GL_NEAREST_MIPMAP_LINEAR	= 0x2702,
-	GL_LINEAR_MIPMAP_NEAREST	= 0x2701,
-	GL_LINEAR_MIPMAP_LINEAR		= 0x2703,
-	GL_OBJECT_LINEAR		= 0x2401,
-	GL_OBJECT_PLANE			= 0x2501,
-	GL_EYE_LINEAR			= 0x2400,
-	GL_EYE_PLANE			= 0x2502,
-	GL_SPHERE_MAP			= 0x2402,
-	GL_DECAL			= 0x2101,
-	GL_MODULATE			= 0x2100,
-	GL_NEAREST			= 0x2600,
-	GL_REPEAT			= 0x2901,
-	GL_CLAMP			= 0x2900,
-	GL_S				= 0x2000,
-	GL_T				= 0x2001,
-	GL_R				= 0x2002,
-	GL_Q				= 0x2003,
-	GL_TEXTURE_GEN_R		= 0x0C62,
-	GL_TEXTURE_GEN_Q		= 0x0C63,
-
-	GL_PROXY_TEXTURE_1D		= 0x8063,
-	GL_PROXY_TEXTURE_2D		= 0x8064,
-	GL_TEXTURE_PRIORITY		= 0x8066,
-	GL_TEXTURE_RESIDENT		= 0x8067,
-	GL_TEXTURE_1D_BINDING		= 0x8068,
-	GL_TEXTURE_2D_BINDING		= 0x8069,
-
-	/* Internal texture formats */
-	GL_ALPHA4			= 0x803B,
-	GL_ALPHA8			= 0x803C,
-	GL_ALPHA12			= 0x803D,
-	GL_ALPHA16			= 0x803E,
-	GL_LUMINANCE4			= 0x803F,
-	GL_LUMINANCE8			= 0x8040,
-	GL_LUMINANCE12			= 0x8041,
-	GL_LUMINANCE16			= 0x8042,
-	GL_LUMINANCE4_ALPHA4		= 0x8043,
-	GL_LUMINANCE6_ALPHA2		= 0x8044,
-	GL_LUMINANCE8_ALPHA8		= 0x8045,
-	GL_LUMINANCE12_ALPHA4		= 0x8046,
-	GL_LUMINANCE12_ALPHA12		= 0x8047,
-	GL_LUMINANCE16_ALPHA16		= 0x8048,
-	GL_INTENSITY			= 0x8049,
-	GL_INTENSITY4			= 0x804A,
-	GL_INTENSITY8			= 0x804B,
-	GL_INTENSITY12			= 0x804C,
-	GL_INTENSITY16			= 0x804D,
-	GL_R3_G3_B2			= 0x2A10,
-	GL_RGB4				= 0x804F,
-	GL_RGB5				= 0x8050,
-	GL_RGB8				= 0x8051,
-	GL_RGB10			= 0x8052,
-	GL_RGB12			= 0x8053,
-	GL_RGB16			= 0x8054,
-	GL_RGBA2			= 0x8055,
-	GL_RGBA4			= 0x8056,
-	GL_RGB5_A1			= 0x8057,
-	GL_RGBA8			= 0x8058,
-	GL_RGB10_A2			= 0x8059,
-	GL_RGBA12			= 0x805A,
-	GL_RGBA16			= 0x805B,
-
-	/* Utility */
-	GL_VENDOR			= 0x1F00,
-	GL_RENDERER			= 0x1F01,
-	GL_VERSION			= 0x1F02,
-	GL_EXTENSIONS			= 0x1F03,
-
-	/* Errors */
-	GL_INVALID_VALUE		= 0x0501,
-	GL_INVALID_ENUM			= 0x0500,
-	GL_INVALID_OPERATION		= 0x0502,
-	GL_STACK_OVERFLOW		= 0x0503,
-	GL_STACK_UNDERFLOW		= 0x0504,
-	GL_OUT_OF_MEMORY		= 0x0505,
-
-	/*
-	 * 1.0 Extensions
-	 */
-        /* GL_EXT_blend_minmax and GL_EXT_blend_color */
-	GL_CONSTANT_COLOR_EXT		= 0x8001,
-	GL_ONE_MINUS_CONSTANT_COLOR_EXT	= 0x8002,
-	GL_CONSTANT_ALPHA_EXT		= 0x8003,
-	GL_ONE_MINUS_CONSTANT_ALPHA_EXT	= 0x8004,
-	GL_BLEND_EQUATION_EXT		= 0x8009,
-	GL_MIN_EXT			= 0x8007,
-	GL_MAX_EXT			= 0x8008,
-	GL_FUNC_ADD_EXT			= 0x8006,
-	GL_FUNC_SUBTRACT_EXT		= 0x800A,
-	GL_FUNC_REVERSE_SUBTRACT_EXT	= 0x800B,
-	GL_BLEND_COLOR_EXT		= 0x8005,
-
-	/* GL_EXT_polygon_offset */
-        GL_POLYGON_OFFSET_EXT           = 0x8037,
-        GL_POLYGON_OFFSET_FACTOR_EXT    = 0x8038,
-        GL_POLYGON_OFFSET_BIAS_EXT      = 0x8039,
-
-	/* GL_EXT_vertex_array */
-	GL_VERTEX_ARRAY_EXT		= 0x8074,
-	GL_NORMAL_ARRAY_EXT		= 0x8075,
-	GL_COLOR_ARRAY_EXT		= 0x8076,
-	GL_INDEX_ARRAY_EXT		= 0x8077,
-	GL_TEXTURE_COORD_ARRAY_EXT	= 0x8078,
-	GL_EDGE_FLAG_ARRAY_EXT		= 0x8079,
-	GL_VERTEX_ARRAY_SIZE_EXT	= 0x807A,
-	GL_VERTEX_ARRAY_TYPE_EXT	= 0x807B,
-	GL_VERTEX_ARRAY_STRIDE_EXT	= 0x807C,
-	GL_VERTEX_ARRAY_COUNT_EXT	= 0x807D,
-	GL_NORMAL_ARRAY_TYPE_EXT	= 0x807E,
-	GL_NORMAL_ARRAY_STRIDE_EXT	= 0x807F,
-	GL_NORMAL_ARRAY_COUNT_EXT	= 0x8080,
-	GL_COLOR_ARRAY_SIZE_EXT		= 0x8081,
-	GL_COLOR_ARRAY_TYPE_EXT		= 0x8082,
-	GL_COLOR_ARRAY_STRIDE_EXT	= 0x8083,
-	GL_COLOR_ARRAY_COUNT_EXT	= 0x8084,
-	GL_INDEX_ARRAY_TYPE_EXT		= 0x8085,
-	GL_INDEX_ARRAY_STRIDE_EXT	= 0x8086,
-	GL_INDEX_ARRAY_COUNT_EXT	= 0x8087,
-	GL_TEXTURE_COORD_ARRAY_SIZE_EXT	= 0x8088,
-	GL_TEXTURE_COORD_ARRAY_TYPE_EXT	= 0x8089,
-	GL_TEXTURE_COORD_ARRAY_STRIDE_EXT= 0x808A,
-	GL_TEXTURE_COORD_ARRAY_COUNT_EXT= 0x808B,
-	GL_EDGE_FLAG_ARRAY_STRIDE_EXT	= 0x808C,
-	GL_EDGE_FLAG_ARRAY_COUNT_EXT	= 0x808D,
-	GL_VERTEX_ARRAY_POINTER_EXT	= 0x808E,
-	GL_NORMAL_ARRAY_POINTER_EXT	= 0x808F,
-	GL_COLOR_ARRAY_POINTER_EXT	= 0x8090,
-	GL_INDEX_ARRAY_POINTER_EXT	= 0x8091,
-	GL_TEXTURE_COORD_ARRAY_POINTER_EXT= 0x8092,
-	GL_EDGE_FLAG_ARRAY_POINTER_EXT	= 0x8093
-
-};
-
-typedef enum {
-	GL_TEXT_SIZE8x8 = 1,
-	GL_TEXT_SIZE16x16 = 2,
-	GL_TEXT_SIZE24x24 = 3,
-	GL_TEXT_SIZE32x32 = 4,
-	GL_TEXT_SIZE40x40 = 5,
-	GL_TEXT_SIZE48x48 = 6,
-	GL_TEXT_SIZE56x56 = 7,
-	GL_TEXT_SIZE64x64 = 8
-} GLTEXTSIZE;
-enum {
-	GL_CURRENT_BIT		= 0x00000001,
-	GL_POINT_BIT		= 0x00000002,
-	GL_LINE_BIT		= 0x00000004,
-	GL_POLYGON_BIT		= 0x00000008,
-	GL_POLYGON_STIPPLE_BIT	= 0x00000010,
-	GL_PIXEL_MODE_BIT	= 0x00000020,
-	GL_LIGHTING_BIT		= 0x00000040,
-	GL_FOG_BIT		= 0x00000080,
-	GL_DEPTH_BUFFER_BIT	= 0x00000100,
-	GL_ACCUM_BUFFER_BIT	= 0x00000200,
-	GL_STENCIL_BUFFER_BIT	= 0x00000400,
-	GL_VIEWPORT_BIT		= 0x00000800,
-	GL_TRANSFORM_BIT	= 0x00001000,
-	GL_ENABLE_BIT		= 0x00002000,
-	GL_COLOR_BUFFER_BIT	= 0x00004000,
-	GL_HINT_BIT		= 0x00008000,
-	GL_EVAL_BIT		= 0x00010000,
-	GL_LIST_BIT		= 0x00020000,
-	GL_TEXTURE_BIT		= 0x00040000,
-	GL_SCISSOR_BIT		= 0x00080000,
-	GL_ALL_ATTRIB_BITS	= 0x000fffff
-};
-
-/* some types */
-
-typedef int		GLenum;
-typedef void		GLvoid;
-typedef unsigned char	GLboolean;
-typedef signed char	GLbyte;		/* 1-byte signed */
-typedef short		GLshort;	/* 2-byte signed */
-typedef int		GLint;		/* 4-byte signed */
-typedef unsigned char	GLubyte;	/* 1-byte unsigned */
-typedef unsigned short	GLushort;	/* 2-byte unsigned */
-typedef unsigned int	GLuint;		/* 4-byte unsigned */
-typedef float		GLfloat;	/* single precision float */
-typedef double		GLdouble;	/* double precision float */
-typedef int GLsizei;
-
-/* functions */
-
-void glEnable(int code);
-void glDisable(int code);
-
-
-void glShadeModel(int mode);
-void glCullFace(int mode);
-void glPolygonMode(int face,int mode);
-
-void glBegin(int type);
-void glEnd(void);
-
-//NEW functions added by GEK!!!
-void glSetEnableSpecular(int s); //Toggle specular rendering (Speedup!!!)
-void* glGetTexturePixmap(int text, int level, int* xsize, int* ysize); //Get the raw data of a texture!
-void glDrawText(const unsigned char* text, int x, int y, unsigned int pixel); //Blit 8x8 text to he screen
-void glTextSize(GLTEXTSIZE mode); //Set text size
-void glPlotPixel(int x, int y, unsigned int pixel); //plot a pixel to the screen.
-
-#define PROTO_GL1(name)				\
-void gl ## name ## 1f(float);	\
-void gl ## name ## 1d(double);	\
-void gl ## name ## 1fv(float *);		\
-void gl ## name ## 1dv(double *);
-
-#define PROTO_GL2(name)				\
-void gl ## name ## 2f(float ,float);	\
-void gl ## name ## 2d(double ,double);	\
-void gl ## name ## 2fv(float *);		\
-void gl ## name ## 2dv(double *);
-
-#define PROTO_GL3(name)				\
-void gl ## name ## 3f(float ,float ,float);	\
-void gl ## name ## 3d(double ,double ,double);	\
-void gl ## name ## 3fv(float *);		\
-void gl ## name ## 3dv(double *);
-
-#define PROTO_GL4(name)				\
-void gl ## name ## 4f(float ,float ,float, float );	\
-void gl ## name ## 4d(double ,double ,double, double );	\
-void gl ## name ## 4fv(float *);		\
-void gl ## name ## 4dv(double *);
-
-PROTO_GL2(Vertex)
-PROTO_GL3(Vertex)
-PROTO_GL4(Vertex)
-
-PROTO_GL3(Color)
-PROTO_GL4(Color)
-
-PROTO_GL3(Normal)
-
-PROTO_GL1(TexCoord)
-PROTO_GL2(TexCoord)
-PROTO_GL3(TexCoord)
-PROTO_GL4(TexCoord)
-
-void glEdgeFlag(int flag);
-
-/* matrix */
-void glMatrixMode(int mode);
-void glLoadMatrixf(const float *m);
-void glLoadIdentity(void);
-void glMultMatrixf(const float *m);
-void glPushMatrix(void);
-void glPopMatrix(void);
-void glRotatef(float angle,float x,float y,float z);
-void glTranslatef(float x,float y,float z);
-void glScalef(float x,float y,float z);
-
-void glViewport(int x,int y,int width,int height);
-void glFrustum(double left,double right,double bottom,double top,
-               double near,double far);
-
-/* lists */
-unsigned int glGenLists(int range);
-int glIsList(unsigned int list);
-void glNewList(unsigned int list,int mode);
-void glEndList(void);
-void glCallList(unsigned int list);
-void glDeleteList(unsigned int list);
-void glDeleteLists(unsigned int list, unsigned int range);
-/* clear */
-void glClear(int mask);
-void glClearColor(float r,float g,float b,float a);
-void glClearDepth(double depth);
-
-/* selection */
-int glRenderMode(int mode);
-void glSelectBuffer(int size,unsigned int *buf);
-
-void glInitNames(void);
-void glPushName(unsigned int name);
-void glPopName(void);
-void glLoadName(unsigned int name);
-
-/* textures */
-void glGenTextures(int n, unsigned int *textures);
-void glDeleteTextures(int n, const unsigned int *textures);
-void glBindTexture(int target,int texture);
-void glTexImage2D( int target, int level, int components,
-		    int width, int height, int border,
-                    int format, int type, void *pixels);
-void glTexEnvi(int target,int pname,int param);
-void glTexParameteri(int target,int pname,int param);
-void glPixelStorei(int pname,int param);
-
-/* lighting */
-
-void glMaterialfv(int mode,int type,float *v);
-void glMaterialf(int mode,int type,float v);
-void glColorMaterial(int mode,int type);
-
-void glLightfv(int light,int type,float *v);
-void glLightf(int light,int type,float v);
-void glLightModeli(int pname,int param);
-void glLightModelfv(int pname,float *param);
-
-/* misc */
-
-void glFlush(void);
-void glHint(int target,int mode);
-void glGetIntegerv(int pname,int *params);
-void glGetFloatv(int pname, float *v);
-void glFrontFace(int mode);
-
-/* opengl 1.2 arrays */
-void glEnableClientState(GLenum array);
-void glDisableClientState(GLenum array);
-void glArrayElement(GLint i);
-void glVertexPointer(GLint size, GLenum type, GLsizei stride, 
-                     const GLvoid *pointer);
-void glColorPointer(GLint size, GLenum type, GLsizei stride, 
-                     const GLvoid *pointer);
-void glNormalPointer(GLenum type, GLsizei stride, 
-                      const GLvoid *pointer);
-void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, 
-                       const GLvoid *pointer);
-
-/* opengl 1.2 polygon offset */
-void glPolygonOffset(GLfloat factor, GLfloat units);
-
-/* not implemented, just added to compile  */
-  /*
-inline void glPointSize(float) {}
-inline void glLineWidth(float) {}
-inline void glDeleteLists(int, int) {}
-inline void glDepthFunc(int) {}
-inline void glBlendFunc(int, int) {}
-inline void glTexEnvf(int, int, int) {}
-inline void glOrtho(float,float,float,float,float,float){}
-inline void glVertex2i(int,int) {}
-inline void glDepthMask(int) {}
-inline void glFogi(int, int) {}
-inline void glFogfv(int, const float*) {}
-inline void glFogf(int, float) {}
-inline void glRasterPos2f(float, float) {}
-inline void glPolygonStipple(void*) {}
-inline void glTexParameterf(int, int, int) {};
-  */
-void glPolygonStipple(void* a); //TODO: implement
-/* non compatible functions */
-
-void glDebug(int mode);
-
-void glInit(void *zbuffer);
-void glClose(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/src/include/GL/glx.h
+++ /dev/null
@@ -1,144 +1,0 @@
-#ifndef GLX_H
-#define GLX_H
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include "GL/gl.h"
-
-
-/* the following comes from Mesa */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#define GLX_VERSION_1_1		1
-
-
-/*
- * Tokens for glXChooseVisual and glXGetConfig:
- */
-enum _GLX_CONFIGS {
-	GLX_USE_GL		= 1,
-	GLX_BUFFER_SIZE		= 2,
-	GLX_LEVEL		= 3,
-	GLX_RGBA		= 4,
-	GLX_DOUBLEBUFFER	= 5, 
-	GLX_STEREO		= 6,
-	GLX_AUX_BUFFERS		= 7,
-	GLX_RED_SIZE		= 8,
-	GLX_GREEN_SIZE		= 9,
-	GLX_BLUE_SIZE		= 10,
-	GLX_ALPHA_SIZE		= 11,
-	GLX_DEPTH_SIZE		= 12,
-	GLX_STENCIL_SIZE	= 13,
-	GLX_ACCUM_RED_SIZE	= 14,
-	GLX_ACCUM_GREEN_SIZE	= 15,
-	GLX_ACCUM_BLUE_SIZE	= 16,
-	GLX_ACCUM_ALPHA_SIZE	= 17,
-
-	/* GLX_EXT_visual_info extension */
-	GLX_X_VISUAL_TYPE_EXT		= 0x22,
-	GLX_TRANSPARENT_TYPE_EXT	= 0x23,
-	GLX_TRANSPARENT_INDEX_VALUE_EXT	= 0x24,
-	GLX_TRANSPARENT_RED_VALUE_EXT	= 0x25,
-	GLX_TRANSPARENT_GREEN_VALUE_EXT	= 0x26,
-	GLX_TRANSPARENT_BLUE_VALUE_EXT	= 0x27,
-	GLX_TRANSPARENT_ALPHA_VALUE_EXT	= 0x28
-};
-
-
-/*
- * Error codes returned by glXGetConfig:
- */
-#define GLX_BAD_SCREEN		1
-#define GLX_BAD_ATTRIBUTE	2
-#define GLX_NO_EXTENSION	3
-#define GLX_BAD_VISUAL		4
-#define GLX_BAD_CONTEXT		5
-#define GLX_BAD_VALUE       	6
-#define GLX_BAD_ENUM		7
-
-
-/*
- * GLX 1.1 and later:
- */
-#define GLX_VENDOR		1
-#define GLX_VERSION		2
-#define GLX_EXTENSIONS 		3
-
-
-/*
- * GLX_visual_info extension
- */
-#define GLX_TRUE_COLOR_EXT		0x8002
-#define GLX_DIRECT_COLOR_EXT		0x8003
-#define GLX_PSEUDO_COLOR_EXT		0x8004
-#define GLX_STATIC_COLOR_EXT		0x8005
-#define GLX_GRAY_SCALE_EXT		0x8006
-#define GLX_STATIC_GRAY_EXT		0x8007
-#define GLX_NONE_EXT			0x8000
-#define GLX_TRANSPARENT_RGB_EXT		0x8008
-#define GLX_TRANSPARENT_INDEX_EXT	0x8009
-
-
-typedef void *GLXContext;
-typedef Pixmap GLXPixmap;
-typedef Drawable GLXDrawable;
-typedef XID GLXContextID;
-
-
-extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
-				     int *attribList );
-
-extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
-				    GLXContext shareList, Bool direct );
-
-extern void glXDestroyContext( Display *dpy, GLXContext ctx );
-
-extern Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable,
-			    GLXContext ctx);
-
-extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
-			    GLuint mask );
-
-extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
-
-extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
-				     Pixmap pixmap );
-
-extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
-
-extern Bool glXQueryExtension( Display *dpy, int *errorb, int *event );
-
-extern Bool glXQueryVersion( Display *dpy, int *maj, int *min );
-
-extern Bool glXIsDirect( Display *dpy, GLXContext ctx );
-
-extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
-			 int attrib, int *value );
-
-extern GLXContext glXGetCurrentContext( void );
-
-extern GLXDrawable glXGetCurrentDrawable( void );
-
-extern void glXWaitGL( void );
-
-extern void glXWaitX( void );
-
-extern void glXUseXFont( Font font, int first, int count, int list );
-
-
-/* GLX 1.1 and later */
-extern const char *glXQueryExtensionsString( Display *dpy, int screen );
-
-extern const char *glXQueryServerString( Display *dpy, int screen, int name );
-
-extern const char *glXGetClientString( Display *dpy, int name );
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/src/include/GL/nglx.h
+++ /dev/null
@@ -1,27 +1,0 @@
-#ifndef NGLX_H
-#define NGLX_H
-
-#include <microwin/nano-X.h>
-#include "GL/gl.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef void *NGLXContext;
-typedef GR_DRAW_ID NGLXDrawable;
-
-extern NGLXContext nglXCreateContext( NGLXContext shareList, int flags );
-
-extern void nglXDestroyContext( NGLXContext ctx );
-
-extern int nglXMakeCurrent( NGLXDrawable drawable,
-			    NGLXContext ctx);
-
-extern void nglXSwapBuffers( NGLXDrawable drawable );
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/src/include/GL/oscontext.h
+++ /dev/null
@@ -1,37 +1,0 @@
-#ifndef _tgl_osbuffer_h_
-#define _tgl_osbuffer_h_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-  void **zbs;
-  void **framebuffers;
-  int numbuffers;
-  int xsize, ysize;
-} ostgl_context;
-
-ostgl_context *
-ostgl_create_context(const int xsize,
-                     const int ysize,
-                     const int depth,
-                     void **framebuffers,
-                     const int numbuffers);
-void
-ostgl_delete_context(ostgl_context *context);
-
-void
-ostgl_make_current(ostgl_context *context, const int index);
-
-void
-ostgl_resize(ostgl_context * context,
-             const int xsize,
-             const int ysize,
-             void **framebuffers);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _tgl_osbuffer_h_ */
--- a/src/include/zbuffer.h
+++ /dev/null
@@ -1,142 +1,0 @@
-#ifndef _tgl_zbuffer_h_
-#define _tgl_zbuffer_h_
-
-/*
- * Z buffer
- */
-
-#include "zfeatures.h"
-
-#define ZB_Z_BITS 16
-
-#define ZB_POINT_Z_FRAC_BITS 14
-
-#define ZB_POINT_S_MIN ( (1<<13) )
-#define ZB_POINT_S_MAX ( (1<<22)-(1<<13) )
-#define ZB_POINT_T_MIN ( (1<<21) )
-#define ZB_POINT_T_MAX ( (1<<30)-(1<<21) )
-/*
-#define ZB_POINT_RED_MIN ( (1<<10) )
-#define ZB_POINT_RED_MAX ( (1<<16)-(1<<10) )
-#define ZB_POINT_GREEN_MIN ( (1<<9) )
-#define ZB_POINT_GREEN_MAX ( (1<<16)-(1<<9) )
-#define ZB_POINT_BLUE_MIN ( (1<<10) )
-#define ZB_POINT_BLUE_MAX ( (1<<16)-(1<<10) )
-*/
-/* display modes */
-#define ZB_MODE_5R6G5B  1  /* true color 16 bits */
-#define ZB_MODE_INDEX   2  /* color index 8 bits */
-#define ZB_MODE_RGBA    3  /* 32 bit ABGR mode */
-#define ZB_MODE_RGB24   4  /* 24 bit rgb mode */
-#define ZB_NB_COLORS    225 /* number of colors for 8 bit display */
-
-
-
-
-
-#if TGL_FEATURE_RENDER_BITS == 32
-
-/* 32 bit mode */
-#define RGB_TO_PIXEL(r,g,b) ( ((b&65280)<<8) | ((g&65280)) | ((r&65280)>>8) )
-typedef unsigned int PIXEL;
-#define PSZB 4
-#define PSZSH 5
-
-#elif TGL_FEATURE_RENDER_BITS == 16
-
-/* 16 bit mode */
-#define RGB_TO_PIXEL(r,g,b) (((r) & 0xF800) | (((g) >> 5) & 0x07E0) | ((b) >> 11))
-typedef unsigned short PIXEL;
-#define PSZB 2 
-#define PSZSH 4 
-
-
-#else
-
-#error wrong TGL_FEATURE_RENDER_BITS buddy
-
-#endif
-
-typedef struct {
-    int xsize,ysize;
-    int linesize; /* line size, in bytes */
-    int mode;
-    
-    unsigned short *zbuf;
-    PIXEL *pbuf;
-    int frame_buffer_allocated;
-    /* opengl polygon stipple*/
-    int dostipple;
-    unsigned char stipplepattern[TGL_POLYGON_STIPPLE_BYTES]; //32 bits wide, 32 bits tall. 32 * 4 bytes.
-     
-    int nb_colors;
-    unsigned char *dctable;
-    int *ctable;
-    PIXEL *current_texture;
-} ZBuffer;
-
-typedef struct {
-  int x,y,z;     /* integer coordinates in the zbuffer */
-  int s,t;       /* coordinates for the mapping */
-  int r,g,b;     /* color indexes */
-  
-  float sz,tz;   /* temporary coordinates for mapping */
-} ZBufferPoint;
-
-/* zbuffer.c */
-
-ZBuffer *ZB_open(int xsize,int ysize,int mode,
-		 int nb_colors,
-		 unsigned char *color_indexes,
-		 int *color_table,
-		 void *frame_buffer);
-
-
-void ZB_close(ZBuffer *zb);
-
-void ZB_resize(ZBuffer *zb,void *frame_buffer,int xsize,int ysize);
-void ZB_clear(ZBuffer *zb,int clear_z,int z,
-	      int clear_color,int r,int g,int b);
-/* linesize is in BYTES */
-void ZB_copyFrameBuffer(ZBuffer *zb,void *buf,int linesize);
-
-/* zdither.c */
-
-void ZB_initDither(ZBuffer *zb,int nb_colors,
-		   unsigned char *color_indexes,int *color_table);
-void ZB_closeDither(ZBuffer *zb);
-void ZB_ditherFrameBuffer(ZBuffer *zb,unsigned char *dest,
-			  int linesize);
-
-/* zline.c */
-
-void ZB_plot(ZBuffer *zb,ZBufferPoint *p);
-void ZB_line(ZBuffer *zb,ZBufferPoint *p1,ZBufferPoint *p2);
-void ZB_line_z(ZBuffer * zb, ZBufferPoint * p1, ZBufferPoint * p2);
-
-/* ztriangle.c */
-
-void ZB_setTexture(ZBuffer *zb, PIXEL *texture);
-
-void ZB_fillTriangleFlat(ZBuffer *zb,
-		 ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
-
-void ZB_fillTriangleSmooth(ZBuffer *zb,
-		   ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
-
-void ZB_fillTriangleMapping(ZBuffer *zb,
-		    ZBufferPoint *p1,ZBufferPoint *p2,ZBufferPoint *p3);
-
-void ZB_fillTriangleMappingPerspective(ZBuffer *zb,
-                    ZBufferPoint *p0,ZBufferPoint *p1,ZBufferPoint *p2);
-
-
-typedef void (*ZB_fillTriangleFunc)(ZBuffer  *,
-	    ZBufferPoint *,ZBufferPoint *,ZBufferPoint *);
-
-/* memory.c */
-void gl_free(void *p);
-void *gl_malloc(int size);
-void *gl_zalloc(int size);
-
-#endif /* _tgl_zbuffer_h_ */
--- a/src/include/zfeatures.h
+++ /dev/null
@@ -1,76 +1,0 @@
-#ifndef _tgl_features_h_
-#define _tgl_features_h_
-
-/* It is possible to enable/disable (compile time) features in this
-   header file. */
-
-#define TGL_FEATURE_ARRAYS         1
-#define TGL_FEATURE_DISPLAYLISTS   1
-#define TGL_FEATURE_POLYGON_OFFSET 1
-
-#define TGL_FEATURE_POLYGON_STIPPLE 1
-//A stipple pattern is 128 bytes in size.
-#define TGL_POLYGON_STIPPLE_BYTES 128
-//A stipple pattern is 2^5 (32) bits wide.
-#define TGL_POLYGON_STIPPLE_POW2_WIDTH 5
-//The stipple pattern mask (the last bits of the screen coordinates used for indexing)
-//The default pattern is 32 bits wide and 32 bits tall, or 4 bytes per row and 32 tall, 4 * 32 128 bytes.
-#define TGL_POLYGON_STIPPLE_MASK_X 31
-#define TGL_POLYGON_STIPPLE_MASK_Y 31
-
-//These are features useful for integrating TinyGL with other renderers.
-#define TGL_FEATURE_NO_COPY_COLOR 0
-#define TGL_FEATURE_FORCE_CLEAR_NO_COPY_COLOR 0
-#define TGL_NO_COPY_COLOR 0xff00ff
-//NOTE: fc02fc is what you'll get if you set glColor3f to 1,0,1. 
-//^ solid debug pink.
-#define TGL_COLOR_MASK 0xffffffff
-//^ mask to check for copybuffer. This is configured for the default mode.
-
-/*
- * Matrix of internal and external pixel formats supported. 'Y' means
- * supported.
- * 
- *           External  8    16    24    32
- * Internal 
- *  15                 .     .     .     .
- *  16                 Y     Y     Y     Y
- *  24                 .     Y     Y     .
- *  32                 .     Y     .     Y
- * 
- *
- * 15 bpp does not work yet (although it is easy to add it - ask me if
- * you need it).
- * 
- * Internal pixel format: see TGL_FEATURE_RENDER_BITS
- * External pixel format: see TGL_FEATURE_xxx_BITS 
- */
-
-/* enable various convertion code from internal pixel format (usually
-   16 bits per pixel) to any external format */
-#define TGL_FEATURE_8_BITS         0
-#define TGL_FEATURE_24_BITS        0
-//These are the only maintained modes.
-#define TGL_FEATURE_16_BITS        0
-#define TGL_FEATURE_32_BITS        1
-
-//MAINTAINER'S NOTE: Only TGL_FEATURE_RENDER_BITS 32 is maintained.
-//TODO: Include support for 16 bit.
-//All others are experimental.
-//24 bit is broken.
-//#define TGL_FEATURE_RENDER_BITS    15
-//#define TGL_FEATURE_RENDER_BITS    16
-//#define TGL_FEATURE_RENDER_BITS    24 //BROKEN!
-#if TGL_FEATURE_32_BITS == 1
-#define TGL_FEATURE_RENDER_BITS    32
-
-#elif TGL_FEATURE_16_BITS == 1
-#define TGL_FEATURE_RENDER_BITS    16
-
-#else
-#error Unsupported TGL_FEATURE_RENDER_BITS
-
-#endif
-
-
-#endif /* _tgl_features_h_ */
--- a/src/oscontext.c
+++ /dev/null
@@ -1,84 +1,0 @@
-#include "include/GL/oscontext.h"
-#include "include/zbuffer.h"
-#include "zgl.h"
-#include "include/GL/gl.h"
-#include <stdlib.h>
-#include <assert.h>
-
-static int buffercnt = 0;
-
-ostgl_context *
-ostgl_create_context(const int xsize,
-                     const int ysize,
-                     const int depth,
-                     void **framebuffers,
-                     const int numbuffers)
-{
-  ostgl_context *context;
-  int i;
-  ZBuffer *zb;
-   
-  assert(depth == 16); /* support for other depths must include bpp 
-                          convertion */
-  assert(numbuffers >= 1);
-  
-  context = gl_malloc(sizeof(ostgl_context));
-  assert(context);
-  context->zbs = gl_malloc(sizeof(void*)*numbuffers);
-  context->framebuffers = gl_malloc(sizeof(void*)*numbuffers);
-  
-  assert(context->zbs != NULL && context->framebuffers != NULL);
-  
-  for (i = 0; i < numbuffers; i++) {
-    context->framebuffers[i] = framebuffers[i];
-    zb = ZB_open(xsize, ysize, ZB_MODE_5R6G5B, 0, NULL, NULL, framebuffers[i]);
-    if (zb == NULL) {
-      fprintf(stderr, "Error while initializing Z buffer\n");
-      exit(1);
-    }
-    context->zbs[i] = zb;
-  }
-  if (++buffercnt == 1) {
-    glInit(context->zbs[0]);
-  }
-  context->xsize = xsize;
-  context->ysize = ysize;
-  context->numbuffers = numbuffers;
-  return context;
-}
-
-void
-ostgl_delete_context(ostgl_context *context)
-{
-  int i;
-  for (i = 0; i < context->numbuffers; i++) {
-    ZB_close(context->zbs[i]);
-  }
-  gl_free(context->zbs);
-  gl_free(context->framebuffers);
-  gl_free(context);
-  
-  if (--buffercnt == 0) {
-    glClose();
-  }
-}
-
-void
-ostgl_make_current(ostgl_context *oscontext, const int idx)
-{
-  GLContext *context = gl_get_context();
-  assert(idx < oscontext->numbuffers);
-  context->zb = oscontext->zbs[idx];
-}
-
-void
-ostgl_resize(ostgl_context *context,
-             const int xsize,
-             const int ysize,
-             void **framebuffers)
-{
-  int i;
-  for (i = 0; i < context->numbuffers; i++) {
-    ZB_resize(context->zbs[i], framebuffers[i], xsize, ysize);
-  }
-}
--- /dev/null
+++ b/src/oscontext.c.unused
@@ -1,0 +1,84 @@
+#include "include/GL/oscontext.h"
+#include "include/zbuffer.h"
+#include "zgl.h"
+#include "include/GL/gl.h"
+#include <stdlib.h>
+#include <assert.h>
+
+static int buffercnt = 0;
+
+ostgl_context *
+ostgl_create_context(const int xsize,
+                     const int ysize,
+                     const int depth,
+                     void **framebuffers,
+                     const int numbuffers)
+{
+  ostgl_context *context;
+  int i;
+  ZBuffer *zb;
+   
+  assert(depth == 16); /* support for other depths must include bpp 
+                          convertion */
+  assert(numbuffers >= 1);
+  
+  context = gl_malloc(sizeof(ostgl_context));
+  assert(context);
+  context->zbs = gl_malloc(sizeof(void*)*numbuffers);
+  context->framebuffers = gl_malloc(sizeof(void*)*numbuffers);
+  
+  assert(context->zbs != NULL && context->framebuffers != NULL);
+  
+  for (i = 0; i < numbuffers; i++) {
+    context->framebuffers[i] = framebuffers[i];
+    zb = ZB_open(xsize, ysize, ZB_MODE_5R6G5B, 0, NULL, NULL, framebuffers[i]);
+    if (zb == NULL) {
+      fprintf(stderr, "Error while initializing Z buffer\n");
+      exit(1);
+    }
+    context->zbs[i] = zb;
+  }
+  if (++buffercnt == 1) {
+    glInit(context->zbs[0]);
+  }
+  context->xsize = xsize;
+  context->ysize = ysize;
+  context->numbuffers = numbuffers;
+  return context;
+}
+
+void
+ostgl_delete_context(ostgl_context *context)
+{
+  int i;
+  for (i = 0; i < context->numbuffers; i++) {
+    ZB_close(context->zbs[i]);
+  }
+  gl_free(context->zbs);
+  gl_free(context->framebuffers);
+  gl_free(context);
+  
+  if (--buffercnt == 0) {
+    glClose();
+  }
+}
+
+void
+ostgl_make_current(ostgl_context *oscontext, const int idx)
+{
+  GLContext *context = gl_get_context();
+  assert(idx < oscontext->numbuffers);
+  context->zb = oscontext->zbs[idx];
+}
+
+void
+ostgl_resize(ostgl_context *context,
+             const int xsize,
+             const int ysize,
+             void **framebuffers)
+{
+  int i;
+  for (i = 0; i < context->numbuffers; i++) {
+    ZB_resize(context->zbs[i], framebuffers[i], xsize, ysize);
+  }
+}
--- a/src/quick.sh
+++ b/src/quick.sh
@@ -3,4 +3,5 @@
 #This script was used to move these files to include.
 #sed -i 's/\"zbuffer.h/\"include\/zbuffer.h/g' *.c *.h
 #sed -i 's/\"zfeatures.h/\"include\/zfeatures.h/g' *.c *.h
+sed -i 's/\"include/\"..\/include/g' *.c *.h
 #gcc *.c -o executable.out -lglut -lGL -lm -lGLU
--- a/src/zbuffer.c
+++ b/src/zbuffer.c
@@ -7,7 +7,7 @@
 #include <stdio.h>
 #include <assert.h>
 #include <string.h>
-#include "include/zbuffer.h"
+#include "../include/zbuffer.h"
 
 ZBuffer *ZB_open(int xsize, int ysize, int mode,
 		 int nb_colors,
--- a/src/zdither.c
+++ b/src/zdither.c
@@ -5,7 +5,7 @@
 
 #include <stdlib.h>
 #include <stdio.h>
-#include "include/zbuffer.h"
+#include "../include/zbuffer.h"
 #include <assert.h>
 
 #if defined(TGL_FEATURE_8_BITS)
--- a/src/zgl.h
+++ b/src/zgl.h
@@ -5,10 +5,10 @@
 #include <stdio.h>
 #include <math.h>
 #include <assert.h>
-#include "include/GL/gl.h"
-#include "include/zbuffer.h"
+#include "../include/GL/gl.h"
+#include "../include/zbuffer.h"
 #include "zmath.h"
-#include "include/zfeatures.h"
+#include "../include/zfeatures.h"
 #ifndef M_PI
 #define M_PI 3.14159265358979323
 #endif
--- a/src/zline.c
+++ b/src/zline.c
@@ -1,5 +1,5 @@
 #include <stdlib.h>
-#include "include/zbuffer.h"
+#include "../include/zbuffer.h"
 
 #define ZCMP(z,zpix) ((z) >= (zpix))
 
--- a/src/ztext.c
+++ b/src/ztext.c
@@ -2,8 +2,8 @@
 #include <stdio.h>
 #include <assert.h>
 #include <string.h>
-#include "include/zbuffer.h"
-#include "include/GL/gl.h"
+#include "../include/zbuffer.h"
+#include "../include/GL/gl.h"
 #include "zgl.h"
 #include "font8x8_basic.h"
 GLTEXTSIZE textsize = 1;
--- a/src/ztriangle.c
+++ b/src/ztriangle.c
@@ -1,5 +1,5 @@
 #include <stdlib.h>
-#include "include/zbuffer.h"
+#include "../include/zbuffer.h"