void gpuBegin(GLenum mode);
void gpuEnd();
void gpuColor3f(GLfloat r, GLfloat g, GLfloat b);
void gpuColor3fv(const GLfloat* v);
void gpuColor3ub(GLubyte r, GLubyte g, GLubyte b);
void gpuColor3ubv(const GLubyte* v);
void gpuColor4f(GLfloat r, GLfloat g, GLfloat b, GLfloat a);
void gpuColor4fv(const GLfloat* v);
void gpuColor4ub(GLubyte r, GLubyte g, GLubyte b, GLubyte a);
void gpuColor4ubv(const GLubyte* v);
void gpuNormal3f(GLfloat x, GLfloat y, GLfloat z);
void gpuNormal3fv(const GLfloat *restrict v);
void gpuNormal3sv(const GLshort *restrict v);
void gpuTexCoord2f(GLfloat s, GLfloat t);
void gpuTexCoord2fv(const GLfloat* v);
void gpuTexCoord3fv (const GLfloat* v);
void gpuMultiTexCoord2f(GLenum index, GLfloat s, GLfloat t);
void gpuMultiTexCoord2fv(GLenum index, GLfloat* v);
void gpuMultiTexCoord3fv(GLenum index, GLfloat* v);
void gpuMultiTexCoord4fv(GLenum index, GLfloat* v);
void gpuVertexAttrib2fv(GLsizei index, const GLfloat* v);
void gpuVertexAttrib3fv(GLsizei index, const GLfloat* v);
void gpuVertexAttrib4fv(GLsizei index, const GLfloat* v);
void gpuVertexAttrib4ubv(GLsizei index, const GLubyte* v);
void gpuVertex2f(GLfloat x, GLfloat y);
void gpuVertex2fv(const GLfloat* v);
void gpuVertex3f(GLfloat x, GLfloat y, GLfloat z);
void gpuVertex3fv(const GLfloat* v);
void gpuImmediateElementSizes(
GLint vertexSize,
GLint normalSize,
GLint colorSize);
void gpuImmediateMaxVertexCount(GLsizei maxVertexCount);
void gpuImmediateTextureUnitCount(size_t count);
void gpuImmediateTexCoordSizes(const GLint* sizes);
void gpuImmediateTextureUnitMap(const GLenum* map);
void gpuImmediateFloatAttribCount(size_t count);
void gpuImmediateFloatAttribSizes(const GLint* sizes);
void gpuImmediateFloatAttribIndexMap(const GLuint* map);
void gpuImmediateUbyteAttribCount(size_t count);
void gpuImmediateUbyteAttribSizes(const GLint* sizes);
void gpuImmediateUbyteAttribIndexMap(const GLuint* map);
GPUimmediate* gpuNewImmediate(void);
void gpuImmediateMakeCurrent(GPUimmediate* immediate);
void gpuDeleteImmediate(GPUimmediate* immediate);
/* utility functions to setup vertex format and lock */
void gpuImmediateFormat_V2(void);
void gpuImmediateFormat_V3(void);
void gpuImmediateFormat_N3_V3(void);
void gpuImmediateFormat_C4_V2(void);
void gpuImmediateFormat_C4_V3(void);
void gpuImmediateFormat_C4_N3_V3(void);
void gpuImmediateFormat_T2_C4_N3_V3(void);
void gpuImmediateUnformat(void);