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. [Angular] Show a loading indicator in Angular using *ngIf/else, the as keyword and the async pipe

    The network may be unreliable and loading data may take time. Thus it is important to give the user ...

  2. client、server端编程

    首先是从main函数开发: int main(itn argc,char* argv[]) { pthread_t thread; int count; int status;         cli ...

  3. Setup iOS Development Environment.

    Setup iOS Development Environment Install XCode and check-out source code from SVN XCode Please find ...

  4. 【44.64%】【codeforces 743C】Vladik and fractions

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  5. blob-照片转换与展示

    File转java.sql.Blob(照片)Struts2 public Blob photos(File zp) { Blob photo=null; try { FileInputStream f ...

  6. php 获取根目录

    在网站根目录的index.php文件里 define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/ ...

  7. 在RedHa上安装MRTG监控网卡流量

    http://os.51cto.com/art/201103/252149.htm 2011-03-30 15:05 张微波 phpchina 字号:T | T 在RedHa上安装MRTG监控网卡流量 ...

  8. 【cocos2dx 3.2】瓦片地图制作

    使用Tiled编辑地图 每个图层仅仅能放一种瓦片 瓦片的大小最好是32*32的倍数 对象层里面设置路径的坐标 主程序中获取对象层中的坐标,做对应的操作 设置口袋精灵类: Monster.h #incl ...

  9. ios开发利用AFN检测网络状态

    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; [manager setRe ...

  10. Net Reactor 5

    Net Reactor 5脱壳教程   今天别人发来一个.Net的DLL让我脱壳,第一步自然是先扔进de4dot 我这个de4dot 是集成了  Ivancito0z / TheProxy / PC- ...