对于我这个菜鸟,本来想找找看看怎么升级下自己的OpenGL版本,自以为自己的OpenGL蛮高的,至少2.0以上吧,在这里看到了获得OpenGL版本号的方法,将代码转载如下:
#include <Windows.h>
#include <stdio.h>
#include <GL/glut.h>
int main(int argc, char** argv)
{
glutInit(&argc,argv);
//显示模式初始化
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
//定义窗口大小
glutInitWindowSize(300,300);
//定义窗口位置
glutInitWindowPosition(100,100);
//创建窗口
glutCreateWindow("OpenGL Version");
const GLubyte* name = glGetString(GL_VENDOR); //返回负责当前OpenGL实现厂商的名字
const GLubyte* biaoshifu = glGetString(GL_RENDERER); //返回一个渲染器标识符,通常是个硬件平台
const GLubyte* OpenGLVersion =glGetString(GL_VERSION); //返回当前OpenGL实现的版本号
const GLubyte* gluVersion= gluGetString(GLU_VERSION); //返回当前GLU工具库版本
printf("OpenGL实现厂商的名字:%s\n", name);
printf("渲染器标识符:%s\n", biaoshifu);
printf("OpenGL实现的版本号:%s\n",OpenGLVersion );
printf("GLU工具库版本:%s\n", gluVersion);
return 0;
}
在我的环境下运行结果如下:
GDI指的是一般图形设备接口,这才发现自己的版本其实就是最基本的版本,1.1,想在win32下升级,要添加扩展库,见此,然后就去看扩展库GLEW,想着,索性升级到3.0,4.0啥的,就牛X了,这里有GLEW扩展库添加的配置方法,这,这,可以了解到GLEW扩展库,其实还有N多种扩展库,有很多厂商会去实现这些库,根据自己生成的显卡,参见这里,可悲剧的是,在GLEW中的bin文件夹下的glewinfo.exe,运行之后显示出我只支持1.1的,往后1.2…4.1都不支持,都显示的是MISSING,这才渐渐意识到,跟自己的显卡条件是有关系的,我那个集显还想做什。有点不甘,想找找别的确认方法,确认下我这个集显能支持的OpenGL版本号,在这里,知道了OpenGL Extensions Viewer这家伙可以查看的,在Rendering tests一栏可以测试,测试结果是支持1.1,1.2,跟glew运行的结果还是比较吻合的,就是1.1了。这倒也好,过后,我集中去看怎么用顶点数组(Vertex Array),上一张测试时的图片~
继续~实现贴图与保存文件~