00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __RE_OGLVertex__
00023 #define __RE_OGLVertex__
00024
00025 #include "RE_API.h"
00026 class RE_Tesselator;
00027
00028 #if defined(WIN32)
00029 #define RE_GLAPI __stdcall
00030 #else
00031 #define RE_GLAPI
00032 #endif
00033
00034 class RE_API RE_OGLVertex {
00035 public:
00036
00037
00038
00039 static RE_OGLVertex *getConvex();
00040 static RE_OGLVertex *getConcave();
00041
00042 #ifndef CELLBE
00043 void setTesselator(RE_Tesselator *tess);
00044 #endif
00045
00046
00047 void (RE_GLAPI *v2DS)(const short v[2]);
00048 void (RE_GLAPI *v2DI)(const int v[2]);
00049 void (RE_GLAPI *v3DS)(const short v[3]);
00050 void (RE_GLAPI *v3DI)(const int v[3]);
00051 void (RE_GLAPI *v2DW)(const float v[2]);
00052 void (RE_GLAPI *v3DW)(const float v[3]);
00053
00054
00055 void (RE_GLAPI *vertex2DS)(short x, short y);
00056 void (RE_GLAPI *vertex2DI)(int x, int y);
00057 void (RE_GLAPI *vertex2DW)(float x, float y);
00058 void (RE_GLAPI *vertex3DS)(short x, short y, short z);
00059 void (RE_GLAPI *vertex3DI)(int x, int y, int z);
00060 void (RE_GLAPI *vertex3DW)(float x, float y, float z);
00061
00062
00063 void (RE_GLAPI *c3DS)(const short c[3]);
00064 void (RE_GLAPI *c3DW)(const float c[3]);
00065 void (RE_GLAPI *c4DW)(const float c[4]);
00066
00067
00068 void (RE_GLAPI *n3DW)(const float v[3]);
00069
00070
00071 void (RE_GLAPI *t2DW)(const float v[2]);
00072 void (RE_GLAPI *t3DW)(const float v[3]);
00073 void (RE_GLAPI *t4DW)(const float v[4]);
00074
00075
00076 void (RE_GLAPI *a1DW)(unsigned int loc, const float v[1]);
00077 void (RE_GLAPI *a2DW)(unsigned int loc, const float v[2]);
00078 void (RE_GLAPI *a3DW)(unsigned int loc, const float v[3]);
00079 void (RE_GLAPI *a4DW)(unsigned int loc, const float v[4]);
00080
00081 private:
00082 RE_OGLVertex(int convex);
00083 };
00084
00085 #endif
00086