OpenGL+VS2012编译环境配置
OpenGL库主体分为三部分,分别是
- gl(OpenGL核心库)
- glu(Utility Library,OpenGL实用库)
- glut(Utility Toolkit,OpenGL实用工具库)
gl
gl是OpenGL的核心,提供了OpenGL的基本函数,每个函数都以GL开头。核心库包含有115个函数,用于常规的、核心的图形处理。
gl.h是OpenGL核心库的头文件,对应的导入库和动态库为opengl32.lib和opengl32.dll,Windows系统自带的有,保存路径在 “C:\Windows\System32” ,可以打开该文件查看:
glu
glu提供的是一些基础的、简单的形状的实用函数,是对gl的部分封装,目的是为了减轻繁重的编程工作。每个函数都以glu开头。包含43个函数。
glu.h是OpenGL功能函数库的头文件,对应glu32.lib和glu32.dll,跟opengl32.dll一样,Windows系统也自带有该文件,在同样的 保存在 “C:\Windows\System32” 路径下:
glut
glut是基本的窗口界面,是不依赖于窗口平台的OpenGL工具包,目的在于隐藏不同窗口平台API的复杂度。 glut独立于gl和glu,主要用来打开窗口、开发和管理菜单,以及管理事件等,函数前缀使用glut,包含30多个函数。
OpenGL的下载和配置
OpenGL中唯一需要下载的就是glut库了,下载之后整个配置流程也比OpenCV配置简单很多。
1. 下载glut库,地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
下载之后会得到一个名为“glutdlls37beta.zip”的压缩包,文件很小,只有145K。下载之后解压缩,一共有5个文件:
2. 拷贝解压缩文件里的 glut.dll 和 glut32.dll 放到目录C:\Windows\System32下:
3. 配置项目的包含路径
- 3.1 新建VC++控制台工程,选择 视图->属性管理器,在属性管理器的 “Debug|Win32”上点击右键,选择“添加新项目属性表(P)”,在弹出的对话框里输入名称“OpenGLSetting”(名称随意),并点击确定。
- 3.2 双击刚才添加的 “OpenGLSetting” 属性表,在弹出的对话框中选择
通用属性->VC++目录,在VC++目录里的 “包含目录”和“库目录”里分别输入在第一步中压缩包 “glutdlls37beta.zip”解压出来的路径。如我的是放在E盘OpenGL->glutdlls37beta文件夹里的,就输入“E:\OpenGL\glutdlls37beta”
完成这简单的两步之后,OpenGl就配置成功了,推荐把刚才配置的属性页文件“OpenGLSetting”保存起来,下次再建工程,直接加载即可,不用再添加新的属性页配置了。
下边的小程序用来验证刚才的配置是否正确。
#include <glut.h>
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("第一个OpenGL程序");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}
如果编译运行之后有如下结果,说明配置成功。
OpenGL的神奇美妙世界的大门已经为你敞开,Go for
it!
OpenGL+VS2012编译环境配置的更多相关文章
- Windows7+VS2012下OpenGL 4的环境配置
系统环境 Windows 7 Ultimate x64,Visual Studio Ultimate 2012 Update 4,和一块支持OpenGL 4.x的显卡. 准备工作 首先用GPU Cap ...
- OpenCV2.4.13+VS2012开发环境配置
1.下载和安装OpenCV SDK 在OpenCV官网的下载页面: http://opencv.org/downloads.html 找到对应OpenCV for Windows版本下载.目前(2 ...
- linux内核编译环境配置
linux内核编译环境配置 如果不是编译内核,只需要安装与内核相匹配的kernel-devel开发包即可.即是/lib/modules/`uname -r`/build -> /usr/src/ ...
- Syslinux编译环境配置简要步骤
由于毕业设计要做一个加密U盘的LINUX,需要修改一sysylinux引导程序,在网上很少有关于syslinux编译环境配置的文章,在此简要总结一下,发出来共享. 需要的软件: 1. vmware ...
- OpenGL C#绘图环境配置
OpenGL C#绘图环境配置 OpenGL简介 OpenGL作为一种图形学编程接口已经非常流行, 虽然在大型游戏方面DirectX有一定的市场占有率, 但由于OpenGL的开放性,可移植性等优点 ...
- Android编译环境配置
Android编译环境配置 网上关于Android编译环境配置的整理资料有不少,经整理亲测后,希望能给需要的亲们提供帮助. 主要分为四步: 1.安装JDK(Java Standard Edition ...
- OpenCV2.4.11+VS2012的环境配置+“fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突”的问题解决
本来OpenCV环境配置的问题是个基础问题,但是步骤有点小烦,所以几乎每次都要百度一下,加上这次遇到的“fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 ...
- 二维码解码器Zbar+VS2012开发环境配置
Zbar条码解码器是一个开源的二维码(包括条形码)解码器,可以识别来至于视频流,图像文件.手持扫码器和视频设备(如摄像头)等二维码识别,支持EAN-13/UPC-A, UPC-E, EAN-8, Co ...
- OS X 下 OpenGL 4.x 环境配置
配置: OS X 10.10 + CMake 3.2.2 + GLFW 3.1.1 + OpenGL 4.1 + Xcode 6.0 本文主要介绍如何在 OS X 系统下进行环境配置,使得 Xcode ...
随机推荐
- HDU 1287 破译密码 异或运算
http://acm.hdu.edu.cn/showproblem.php?pid=1287 题目: 有个叫"猪头帮"的国家,采用一种简单的文法加密,他们所用的语言里面只有大写字母 ...
- LVS负载均衡+动静分离+高可用(nginx+tomcat+keepalived)
文章目录 [隐藏] 一.环境介绍 二.环境安装 1.安装JDK 2.两台服务器安装tomcat 3.nginx安装 4.keepalive安装 三.负载均衡 四.动静分离 五.keepalive高可用 ...
- AE中地图查询方式
樱木 原文 AE中地图查询方式 地图查询主要有两种查询:空间查询和属性查询 所用到知识点: 1 Cursor(游标)对象 本质上是一个指向数据的指针,本身不包含数据内容,提供一个连接到ROW对象或者 ...
- IOS8刷机之后
用的4s,明显感觉卡- =BUG也非常多,点击设置都闪退..有些应用打不开. 不建议非开发人员尝试. 眼下发现的bug有:同一时候关闭多个应用会造成应用无法关闭. 常常重新启动.耗电没留意.
- pstack.sh 查看进程堆栈
#!/bin/bash if (( $# < 1 )) then echo "usage: `basename $0` pid" 1>&2 ex ...
- js获取浏览器和元素对象的尺寸
1.屏幕尺寸 window.screen.height //屏幕分辨率的高 window.screen.width //屏幕分辨率的宽 window.screen.availHeight //屏幕可用 ...
- ios开发多线程一:了解-NSOperation的基本使用
#import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...
- ImageView一例 分类: H1_ANDROID 2013-10-30 23:02 1812人阅读 评论(0) 收藏
参考自<疯狂android讲义>2.4节 效果如下: 当点击图上某点时,将之附近放大至下图. 布局文件: <LinearLayout xmlns:android="http ...
- 【22.17%】【codeforces718B】 Efim and Strange Grade
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- Spark源代码阅读笔记之DiskStore
Spark源代码阅读笔记之DiskStore BlockManager底层通过BlockStore来对数据进行实际的存储.BlockStore是一个抽象类,有三种实现:DiskStore(磁盘级别的持 ...