博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenGL的编程环境搭建
阅读量:5173 次
发布时间:2019-06-13

本文共 1965 字,大约阅读时间需要 6 分钟。

搭建环境:Windows 7 + vs2008

环境推荐理由:目前开发OpenGL最易用的工具是vs,所以要在Windows操作系统环境下。经测试,win7和win8都是可以的,xp和vista没有测试,请博友们自行尝试。

vs我尝试过vs2012和vs2008,vs2008之后就不自带图形库了,所以还要自己安装glut,虽然不麻烦,但是能少一事就少一事吧。

针对有些同学说vs2008还需要glaux库,这里做一下说明,vs2008也是自带了glaux.lib的。具体路径:

C:\Program Files\Microsoft SDKs\Windows\v5.0\Lib\IA64

所以在vs2008里,我们的头文件只要包含

#include 
// Header File For Windows
#include 
// Header File For The OpenGL32 Library
#include 
// Header File For The GLu32 Library
也就是说安装了vs2008,不需要手动添加一些OpenGL库就可以编写程序了。经测试 Nehe的代码都可以直接运行。
 
不过为了开发方便,推荐手动安装两个库,周炜的nehe教程第一课里就提到这两个库
#include 
// 包含最新的gl.h,glu.h库
#include 
// 包含OpenGL实用库

 

glew下载地址:

glut现已经被freeglut替代,下载地址

解压

进到freeglut-2.8.1\VisualStudio\里面有2008,2010,2012三个文件夹,分别对应着VS2008,VS2010,VS2012,选2008,运行freeglut.sln。选择release,然后生成解决方案。

回到freeglut根目录,将生成的文件复制到对应的位置

lib/x86/freeglut.dll to C:\Windows\System32

lib/x86/freeglut.lib to Microsoft Visual Studio 9.0\VC\lib

include/GL/*.h to \Microsoft Visual Studio 9.0\VC\include/Include/GL

这样freeglut就配置完成了。

 

然后我们检测一下opengl的版本

//查看opengl的版本
#include
#include 
#include 
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("OOpenGL实现的版本号:%s\n",OpenGLVersion );
printf("OGLU工具库版本:%s\n", gluVersion);
getchar();
return 0;
}

 

 

教程到此为止,来日再作补充。

转载于:https://www.cnblogs.com/guchang/p/3338986.html

你可能感兴趣的文章
可怜的梅西
查看>>
linux下mysql5.5.11编译安装
查看>>
Machine Learning Week 3-advanced-optimization
查看>>
LeetCode 134.加油站
查看>>
设计模式中类的关系之关联关系(Association)
查看>>
ssm异步上传图片
查看>>
用jenkins编译WPF程序并传输到服务器
查看>>
浅析购物车的实现
查看>>
SHCTF-2017:crackme
查看>>
进阶のJAVA8
查看>>
Maven+IDEA+testNG测试框架学习(一)
查看>>
利用jQuery-UI和jsPlumb实现拖拽连接模型
查看>>
php 二维数组去重
查看>>
用html5实现音频播放器
查看>>
在python中独立运行orm
查看>>
HttpRunnerManager使用说明
查看>>
黑马程序员—多线程
查看>>
DataGrid
查看>>
hdu-1559 最大子矩阵(二维树状数组模板题)
查看>>
第一个超级简单Node.js实例
查看>>