我最近试图将手放在OpenGL上。试图掌握API,我正在使用MinGW和OpenGW。现在,我了解(或者得到了建议)我不应再使用glBegin
和glEnd
,因为这些已被弃用,但应该从OpenGL 3.1开始。因为我不知道所使用的版本有什么不同,所以我没有注意到我在计算机上实际安装了哪个版本。而且,据我所知,没有glVersion
或类似的电话我可以用来确定该版本。
由于我使用的是MinGW,因此我访问了c:\MinGW\include\GL\gl.h
中的相应包含文件夹:
/*
* Mesa 3-D graphics library
* Version: 4.0
[more lines]
*/
[more lines]
#define GL_VERSION_1_1 1
#if !defined(__WIN32__)
#define GL_VERSION_1_2 1
#define GL_VERSION_1_3 1
#define GL_ARB_imaging 1
#endif
[more lines]
#define GL_VERSION 0x1F02
对我来说,表示已安装的版本低至1.3。是这种情况还是我如何验证我的怀疑?另外,如果我只有1.3(或任何版本),我会在哪里找到更高版本(与MinGW一起正常工作)?
那么,是否有人知道,如果我的怀疑是对的并且MinGW带有过时的OpenGL版本?
修改我意识到这个问题可能会被视为Which OpenGL version by default installed along with MinGW?的副本,但我相信这个问题具体关于MinGW 和 OpenGL,所以我认为这个事实允许(或许)更具体的答案。
答案 0 :(得分:6)
那么,是否有人知道,如果我的怀疑是对的并且MinGW带有过时的OpenGL版本?
MinGW没有“OpenGL”,您的操作系统(通常是显卡驱动程序)提供OpenGL。
MinGW提供了一个头文件(gl.h
)和一个相应的库(libopengl32.a
),它是opengl32.dll
的包装器,这是一个Windows附带的动态库,包含句柄OpenGL 1.0和1.1函数......周围的东西,不确定确切的版本号。
然后:
大多数操作系统允许您以类似的方式使用整个OpenGL。
但是,在Windows上,为了访问较新的OpenGL函数而不是标题和库包装器(您可能已经可用 - 取决于您的GPU和驱动程序),您必须使用系统调用来加载函数指向OpenGL调用的指针。
有些库可以帮助您,并且可以轻松使用OpenGL 3/4功能。我推荐gl3w
或GLEW
。这是在Windows上使用OpenGL的常用方法。
答案 1 :(得分:2)
答案 2 :(得分:1)
http://learningwebgl.com/blog/?p=11#troubleshooting有一些很好的信息--WebGL使用OpenGL。您可以使用http://www.realtech-vr.com/glview/确认您的测试。