#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
这是一个示例,但是从哪里获取 GL 标头呢?
Windows
在 Windows 上,您需要包含gl.h
OpenGL 1.1 支持的标头和 OpenGL32.lib 的链接。两者都是视窗软件开发工具包。此外,您可能需要以下标头,您可以从中获取http://www.opengl.org/registry .
-
<GL/glext.h>- OpenGL 1.2 及以上兼容性配置文件和扩展接口..
-
<GL/glcorearb.h>- OpenGL 核心配置文件和 ARB 扩展接口,如 OpenGL 4.3 规范的附录 G.2 中所述。不包括仅在兼容性配置文件中找到的接口。
-
<GL/glxext.h>- GLX 1.3及以上API和GLX扩展接口。
-
<GL/wglext.h>- WGL 扩展接口。
Linux
在 Linux 上,您需要链接 libGL.so,它通常是 libGL.so.1 的符号链接,而 libGL.so.1 又是实际库/驱动程序的符号链接,而实际库/驱动程序是图形驱动程序的一部分。例如,在我的系统上,实际的驱动程序库名为 libGL.so.256.53,这是我使用的 nvidia 驱动程序的版本号。您还需要包括gl.h
header,通常是 Mesa 或 Xorg 包的一部分。再说一次,你可能需要glext.h
and glxext.h
from http://www.opengl.org/registry . glxext.h
拥有 GLX 扩展,相当于wglext.h
在 Windows 上。
如果您想使用 OpenGL 3.x 或 OpenGL 4.x 功能而不使用已移至GL_ARB_compatibility
扩展,使用新的gl3.h
来自注册表网页的标头。它取代了gl.h
并且glext.h
(只要您只需要核心功能)。
最后但是同样重要的,glaux.h
不是与 OpenGL 关联的标头。我假设您已经阅读了糟糕的 NEHE 教程并且只是同意它。 Glaux 是一个非常过时的 Win32 库 (1996),用于加载未压缩的位图。使用更好的东西,比如 libPNG,它也支持 Alpha 通道。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)