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编译环境配置的更多相关文章

  1. Windows7+VS2012下OpenGL 4的环境配置

    系统环境 Windows 7 Ultimate x64,Visual Studio Ultimate 2012 Update 4,和一块支持OpenGL 4.x的显卡. 准备工作 首先用GPU Cap ...

  2. OpenCV2.4.13+VS2012开发环境配置

    1.下载和安装OpenCV SDK 在OpenCV官网的下载页面: http://opencv.org/downloads.html   找到对应OpenCV for Windows版本下载.目前(2 ...

  3. linux内核编译环境配置

    linux内核编译环境配置 如果不是编译内核,只需要安装与内核相匹配的kernel-devel开发包即可.即是/lib/modules/`uname -r`/build -> /usr/src/ ...

  4. Syslinux编译环境配置简要步骤

    由于毕业设计要做一个加密U盘的LINUX,需要修改一sysylinux引导程序,在网上很少有关于syslinux编译环境配置的文章,在此简要总结一下,发出来共享. 需要的软件: 1.  vmware ...

  5. OpenGL C#绘图环境配置

    OpenGL C#绘图环境配置   OpenGL简介 OpenGL作为一种图形学编程接口已经非常流行, 虽然在大型游戏方面DirectX有一定的市场占有率, 但由于OpenGL的开放性,可移植性等优点 ...

  6. Android编译环境配置

    Android编译环境配置 网上关于Android编译环境配置的整理资料有不少,经整理亲测后,希望能给需要的亲们提供帮助. 主要分为四步: 1.安装JDK(Java Standard Edition ...

  7. OpenCV2.4.11+VS2012的环境配置+“fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突”的问题解决

    本来OpenCV环境配置的问题是个基础问题,但是步骤有点小烦,所以几乎每次都要百度一下,加上这次遇到的“fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 ...

  8. 二维码解码器Zbar+VS2012开发环境配置

    Zbar条码解码器是一个开源的二维码(包括条形码)解码器,可以识别来至于视频流,图像文件.手持扫码器和视频设备(如摄像头)等二维码识别,支持EAN-13/UPC-A, UPC-E, EAN-8, Co ...

  9. 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 ...

随机推荐

  1. HDU 1287 破译密码 异或运算

    http://acm.hdu.edu.cn/showproblem.php?pid=1287 题目: 有个叫"猪头帮"的国家,采用一种简单的文法加密,他们所用的语言里面只有大写字母 ...

  2. LVS负载均衡+动静分离+高可用(nginx+tomcat+keepalived)

    文章目录 [隐藏] 一.环境介绍 二.环境安装 1.安装JDK 2.两台服务器安装tomcat 3.nginx安装 4.keepalive安装 三.负载均衡 四.动静分离 五.keepalive高可用 ...

  3. AE中地图查询方式

    樱木 原文 AE中地图查询方式 地图查询主要有两种查询:空间查询和属性查询 所用到知识点: 1  Cursor(游标)对象 本质上是一个指向数据的指针,本身不包含数据内容,提供一个连接到ROW对象或者 ...

  4. IOS8刷机之后

    用的4s,明显感觉卡- =BUG也非常多,点击设置都闪退..有些应用打不开. 不建议非开发人员尝试. 眼下发现的bug有:同一时候关闭多个应用会造成应用无法关闭. 常常重新启动.耗电没留意.

  5. pstack.sh 查看进程堆栈

    #!/bin/bash if (( $# < 1 )) then     echo "usage: `basename $0` pid" 1>&2     ex ...

  6. js获取浏览器和元素对象的尺寸

    1.屏幕尺寸 window.screen.height //屏幕分辨率的高 window.screen.width //屏幕分辨率的宽 window.screen.availHeight //屏幕可用 ...

  7. ios开发多线程一:了解-NSOperation的基本使用

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  8. ImageView一例 分类: H1_ANDROID 2013-10-30 23:02 1812人阅读 评论(0) 收藏

    参考自<疯狂android讲义>2.4节 效果如下: 当点击图上某点时,将之附近放大至下图. 布局文件: <LinearLayout xmlns:android="http ...

  9. 【22.17%】【codeforces718B】 Efim and Strange Grade

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  10. Spark源代码阅读笔记之DiskStore

    Spark源代码阅读笔记之DiskStore BlockManager底层通过BlockStore来对数据进行实际的存储.BlockStore是一个抽象类,有三种实现:DiskStore(磁盘级别的持 ...