57 lines
1.5 KiB
C
57 lines
1.5 KiB
C
/* -*- tab-width: 4; -*- */
|
|
/* vi: set sw=2 ts=4 expandtab textwidth=70: */
|
|
|
|
/*
|
|
* Copyright 2017-2020 Mark Callow.
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @internal
|
|
* @file
|
|
* @~English
|
|
*
|
|
* @brief Declare pointers for OpenGL {,ES} functions.
|
|
*
|
|
* Dynamically retrieving pointers avoids apps or shared library builds having to link with OpenGL {,ES}
|
|
* and avoids the need for compiling different versions of the libary for different OpenGL {,ES} versions.
|
|
*/
|
|
|
|
#ifndef _GL_FUNCS_H_
|
|
#define _GL_FUNCS_H_
|
|
|
|
#undef GL_GLEXT_PROTOTYPES // Just to be sure.
|
|
#include "GL/glcorearb.h"
|
|
#include "ktx.h"
|
|
|
|
extern ktx_error_code_e ktxLoadOpenGLLibrary(void);
|
|
|
|
#define GL_FUNCTION(type, fun, required) type fun;
|
|
|
|
extern struct glFuncPtrs {
|
|
#include "gl_funclist.inl"
|
|
} gl;
|
|
|
|
#undef GL_FUNCTION
|
|
|
|
#if !defined(NO_SHORTCUTS)
|
|
// Macros to allow standard, i.e always present functions, to be called
|
|
// by their prototype names.
|
|
#define glBindTexture gl.glBindTexture
|
|
#define glCompressedTexImage2D gl.glCompressedTexImage2D
|
|
#define glCompressedTexSubImage2D gl.glCompressedTexSubImage2D
|
|
#define glDeleteTextures gl.glDeleteTextures
|
|
#define glGenTextures gl.glGenTextures
|
|
#define glGetError gl.glGetError
|
|
#define glGetIntegerv gl.glGetIntegerv
|
|
#define glGetString(x) (const char*)gl.glGetString(x)
|
|
#define glPixelStorei gl.glPixelStorei
|
|
#define glTexImage2D gl.glTexImage2D
|
|
#define glTexSubImage2D gl.glTexSubImage2D
|
|
#define glTexParameteri gl.glTexParameteri
|
|
#define glTexParameteriv gl.glTexParameteriv
|
|
#endif
|
|
|
|
#endif /* _GL_FUNCS_H_ */
|
|
|