Exemple #1
0
	const qboolean cvar_readonly;
	gl_extension_func_t * const funcs;		// constant pointer to array of functions
	const size_t offset;					// offset to respective variable
	const size_t depOffset;					// offset to required pre-initialized variable
} gl_extension_t;

#define GL_EXTENSION_FUNC_EXT(name,func) { name, (void ** const)func }
#define GL_EXTENSION_FUNC(name) GL_EXTENSION_FUNC_EXT("gl"#name,&(qgl##name))

/* GL_ARB_multitexture */
static const gl_extension_func_t gl_ext_multitexture_ARB_funcs[] =
{
	 GL_EXTENSION_FUNC(ActiveTextureARB)
	,GL_EXTENSION_FUNC(ClientActiveTextureARB)

	,GL_EXTENSION_FUNC_EXT(NULL,NULL)
};

/* GL_EXT_compiled_vertex_array */
static const gl_extension_func_t gl_ext_compiled_vertex_array_EXT_funcs[] =
{
	 GL_EXTENSION_FUNC(LockArraysEXT)
	,GL_EXTENSION_FUNC(UnlockArraysEXT)

	,GL_EXTENSION_FUNC_EXT(NULL,NULL)
};

/* GL_ARB_vertex_buffer_object */
static const gl_extension_func_t gl_ext_vertex_buffer_object_ARB_funcs[] =
{
	 GL_EXTENSION_FUNC(BindBufferARB)
Exemple #2
0
    qboolean mandatory;
    gl_extension_func_t *funcs;		// constant pointer to array of functions
    size_t offset;					// offset to respective variable
    size_t depOffset;					// offset to required pre-initialized variable
} gl_extension_t;

#define GL_EXTENSION_FUNC_EXT(name,func) { name, (void ** const)func }
#define GL_EXTENSION_FUNC(name) GL_EXTENSION_FUNC_EXT("gl"#name,&(qgl##name))

/* GL_ARB_multitexture */
static const gl_extension_func_t gl_ext_multitexture_ARB_funcs[] =
{
    GL_EXTENSION_FUNC(ActiveTextureARB)
    ,GL_EXTENSION_FUNC(ClientActiveTextureARB)

    ,GL_EXTENSION_FUNC_EXT(NULL,NULL)
};

/* GL_ARB_vertex_buffer_object */
static const gl_extension_func_t gl_ext_vertex_buffer_object_ARB_funcs[] =
{
    GL_EXTENSION_FUNC(BindBufferARB)
    ,GL_EXTENSION_FUNC(DeleteBuffersARB)
    ,GL_EXTENSION_FUNC(GenBuffersARB)
    ,GL_EXTENSION_FUNC(BufferDataARB)
    ,GL_EXTENSION_FUNC(BufferSubDataARB)

    ,GL_EXTENSION_FUNC_EXT(NULL,NULL)
};

/* GL_EXT_draw_range_elements */