2017-01-07 242 views
1

我想在Windows 10 64位上使用OpenGL 4.3和SDL 2渲染一些东西。 我知道我必须使用像GLEW这样的函数加载库或使用SDL_GL_GetProcAddress手动创建上下文后,在运行时加载函数指针。 但我注意到一个头文件SDL_opengl_glext.h

正在调查这件事后,我发现例如在一些功能的typedef:SDL_opengl_glext.h的用途是什么?

typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers); 

而且例如一些函数原型:

GLAPI void APIENTRY glGenBuffers (GLsizei n, GLuint *buffers); 


请告诉我究竟该功能的typedef的目的和原型?为什么SDL包含此头文件?

回答

2

因为SDL也需要与OpenGL交谈。所以它会根据自己的需要加载OpenGL函数。该标题实际上只是标准OpenGL标头glext.h的一种形式。