转自:http://www.jianshu.com/p/b49fd7fe8b5c             

freeglut 与 glut的差别:


[源自百度百科]

freeglut是GLUT [注1]的一个完全开源替代库。

GLUT最初是《OpenGL红皮书(第二版)》[注2]中的示例程序。自那以后,GLUT简单、跨平台的特点,使其在各种实际应用中广泛应用。

GLUT(以及freeglut)允许用户在众多的平台的创建和管理窗口中OpenGL容器,以及相关的鼠标、键盘和游戏杆功能。

freeglut 由X-联盟许可下发布的。

[注1] GLUT :OpenGL实用工具包

[注2] 《OpenGL红皮书(第二版)》,由Mark Kilgard开发


下面介绍VS2010与OPENGL的结合搭建


1.VS2010与glut


如果单纯的要配置glut的话 只需安装glut工具包。
GLUT不是 OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。
Windows环境下的 GLUT下载地址:(大小约为 150k) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip


Windows 环境下安装GLUT的步骤: 
1、将下载的压缩包解开,将得到 5个文件

2、在 “我的电脑 ”中找见你的VS2010安装路径下的VC目录。 
我的是E:\software\vs10\VC 
在vc目录下的include文件夹中新建gl文件夹 
把解压得到的 glut.h放到这个文件夹中。

3、把解压得到的 glut.lib和 glut32.lib放到静态函数库所在文件夹 
(如果是 VisualStudio2010,则应该是其安装目录下面的 “VC\lib”文件夹)。 
4、把解压得到的 glut.dll和 glut32.dll放到操作系统目录下面的 system32文件夹内。(典型的位置为: C:\Windows\System32) 
64为操作系统最好也在SysWOW64文件夹中拷入dll文件

5、建立一个新的 OpenGL工程 这里以 VisualStudio2010为例。 选择 File->New->Project,然后选择Win32 Console Application ,名字TestOpenGL,然后按 OK。 在谈出的对话框左边点 Application Settings,找到 Empty project(空项目,不需要点击预编译头)并勾上,选择 Finish。 然后向该工程添加一个代码文件,选择cpp文件起一个名字确定即可。

第一个OpenGL程序 一个简单的 OpenGL程序如下:(注意,如果需要编译并运行,需要正确安装 GLUT,安装方法如上所述)


#include <gl/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;
}



2.vs2010与freeglut


1.首先下载freeglut 
http://nchc.dl.sourceforge.net/project/freeglut/freeglut/2.8.0/freeglut-2.8.0.tar.gz 
解压完后如图所示:

2.打开E:\software\freeglut-2.8.0\VisualStudio 文件夹发现其中有2个文件夹 
我们打开2010这个文件夹 
运行freeglut.sln 
将编译环境改为release 在解决方案资源管理器里,右键解决方案,build solution(生成解决方案)。

编译成功后退回到freeglut-2.8.0根目录,把include\GL里面所有的.h文件复制到E:\software\vs10\VC\include文件夹,如果没有gl文件夹的话,需要创建gl文件夹

退回到 freeglut-2.8.0根目录, 把lib\x86里面的freeglut.dll复制到C:\Windows\System32文件夹里,64为操作系统最好也在SysWOW64文件夹中拷入dll文件

把freeglut.lib复制到E:\software\vs10\VC\lib中

到此freeglut的配置就完成了。

测试程序还可以选择上面所列的程序



3.vs2010 与glew


GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。GLEW能自动识别你的平台所支持的全部OpenGL高级扩展涵数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。GLEW支持目前流行的各种操作系统(including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris)使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识 别你的平台

所支持的全部OpenGL高级扩展h函数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。

glew的配置和freeglut完全一样, 
1、下载glew:http://glew.sourceforge.net/ 
解压后如图所示:

2、配置: 
配置和freeglut同理,将相应的文件拷贝到相应位置。 
2-1 将bin文件夹里的glew32.dll 的文件复制到C:\Windows\System32文件夹里,64为操作系统最好也在SysWOW64文件夹中拷入dll文件

2-2 将lib文件夹下的glew32.lib 文件拷贝到E:\software\vs10\VC\lib

2-3 将include/GL/glew.h include/GL/wglew.h 等文件 拷贝到E:\software\vs10\VC\include\gl中

运行测试例子是在最顶部加上


  #include <gl/glut.h>

#include <gl/glew.h>



4.vs2010与gltools


下载可上CSDN上搜索,也可以在评论区留下您的邮箱,我会尽快通过邮箱分享给您。

下载完成后解压文件,如图所示:

配置方法与之前的方法一样 将.h文件和.lib文件分别放入上面所写的对应的文件夹

运行测试工程Triangle(此工程是OPENGL超级宝典随书附录代码,有需要的请在评论区留下邮箱,也可在下面给的连接中下载随书源码)

新建一个win32控制台程序

进入项目>属性>链接器>输入>依赖项中添加gltools.lib,freeglut.lib,glew32s.lib

同时向忽略特定默认库中添加LIBCMT,MSVCRT

运行Triangle,成功如图所示:

源码:


 // Triangle.cpp
// Our first OpenGL program that will just draw a triangle on the screen.

#include <GLTools.h>            // OpenGL toolkit
#include <GLShaderManager.h>    // Shader Manager Class

#ifdef __APPLE__
#include <glut/glut.h>          // OS X version of GLUT
#else
#define FREEGLUT_STATIC
#include <GL/glut.h>            // Windows FreeGlut equivalent
#endif

GLBatch triangleBatch;
GLShaderManager shaderManager;

///
// Window has changed size, or has just been created. In either case, we need
// to use the window dimensions to set the viewport and the projection matrix.
void ChangeSize(int w, int h)
    {
 glViewport(0, 0, w, h);
    }

///
// This function does any needed initialization on the rendering context.
// This is the first opportunity to do any OpenGL related tasks.
void SetupRC()
 {
 // Blue background
 glClearColor(0.0f, 0.0f, 1.0f, 1.0f );
   
 shaderManager.InitializeStockShaders();

// Load up a triangle
 GLfloat vVerts[] = { -0.5f, 0.0f, 0.0f,
                    0.5f, 0.0f, 0.0f,
        0.0f, 0.5f, 0.0f };

triangleBatch.Begin(GL_TRIANGLES, 3);
 triangleBatch.CopyVertexData3f(vVerts);
 triangleBatch.End();
 }

///
// Called to draw scene
void RenderScene(void)
 {
 // Clear the window with current clearing color
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };
 shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed);
 triangleBatch.Draw();

// Perform the buffer swap to display back buffer
 glutSwapBuffers();
 }

///
// Main entry point for GLUT based programs
int main(int argc, char* argv[])
 {
 gltSetWorkingDirectory(argv[0]);
 
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
 glutInitWindowSize(800, 600);
 glutCreateWindow("Triangle");
    glutReshapeFunc(ChangeSize);
    glutDisplayFunc(RenderScene);

GLenum err = glewInit();
 if (GLEW_OK != err) {
  fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));
  return 1;
  }
 
 SetupRC();

glutMainLoop();
 return 0;
 }



附:OpenGL超级宝典 第5版 中英文完整版 pdf 下载: 
http://download.csdn.net/download/niehanmin/9433803

随书源码下载: 
http://www.malagis.com/opengl-super-bible-5th-edition-pdf-download-with-source-code.html


我的环境

Win10 x64

Visual Studio 2015

所需工具:

下载请见文末下载链接

搭建:

freeglut

打开 x:\x\freeglut-2.8.1\VisualStudio\2010\freeglut.sln 项目工程,

分别已Debug模式和Release模式运行。(只生成一个也可)

会在 x:\x\freeglut-2.8.1\lib\x86 目录下看到生成的 .dll 和 .lib 文件,其中请把 Debug目录 中的 .dll 和 .lib 文件加上 _d 以便以后区分。如图:

x:\x\freeglut-2.8.1\include\GL 文件夹下的 .h文件 复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL 目录下,没有GL文件夹的要自己建

x:\x\freeglut-2.8.1\lib\x86 文件夹下(以及Debug文件夹)的 .dll 文件复制到 C:\Windows\SysWOW64 目录(x86 复制到 System32目录下)。

x:\x\freeglut-2.8.1\lib\x86 文件夹下(以及Debug文件夹)的 .lib文件复制到 x:\x\Microsoft Visual Studio 10.0\VC\lib

至此,freeglut搞定!

Glew

x:\x\glew-1.11.0\include\GL 文件夹下的.h文件复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL 目录下。

x:\x\glew-1.11.0\lib\Release\Win32 文件夹下的 .lib文件复制到 x:\x\Microsoft Visual Studio 10.0\VC\lib 目录下。

x:\x\glew-1.11.0\bin\Release\Win32 文件夹下的 .dll文件复制到 C:\Windows\SysWOW64 目录下。

Glut

x:\x\glutdlls37beta 文件夹下的 .h文件 复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL 目录下。

x:\x\glutdlls37beta 文件夹下的 .lib文件 复制到 x:\x\Microsoft Visual Studio 10.0\VC\lib 目录下。

把 x:\x\glutdlls37beta 文件夹下的 .dll文件 复制到 C:\Windows\SysWOW64 目录下。

构建GLTools库

新建一个gltoolswin32项目工程,如图:

先编译一下,

把 x:\x\SB5\Src\GLTools\src 目录下的 .h文件不包括glew.h文件)复制到 x:\x\gltools\gltools。

 x:\x\SB5\Src\GLTools\include 目录下的 .cpp文件不包括GL文件夹)复制到 x:\x\gltools\gltools。

分别在头文件和源文件上右键 添加->现有项 把 .h 和 .cpp 文件添加到项目。如图:

编译提示如下:

gltools.lib 文件生成成功。可以在 x:\x\gltools\Debug 目录下查看。

把 .lib文件 复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib 文件夹下。

.h文件 复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include 文件夹下(注意这次不是GL文件夹)。

到此gltoolsOK了。

测试

我们使用书中给的例子来测试一下环境。

建立test的项目工程:

我们扔上使用上面三角形的例子,复制 x:\x\SB5\Src\Chapter01\Block 中的文件到 x:\x\test\test 文件夹下。同样在源文件上右键 添加->现有项 把Triangle.cpp文件包含进来。

添加附加依赖项

效果如图如上


资源下载

360云盘下载地址:http://yunpan.cn/cAI56sdhc8iIF  提取码 8152

VS下glut freeglut GLtools glew等 配置教程相关推荐

  1. VS2010 与 glut freeglut GLtools glew等 配置教程

    freeglut 与 glut的差别: [源自百度百科] freeglut是GLUT [注1]的一个完全开源替代库. GLUT最初是<OpenGL红皮书(第二版)>[注2]中的示例程序.自 ...

  2. Freeglut和Glew的配置

    1.下载Freeglut Freeglut3.0版本: http://www.transmissionzero.co.uk/software/freeglut-devel/ http://downlo ...

  3. GLUT, freeGLUT, GLFW, GLEW, GLAD 关系与区别

    GLUT:(来自百科)(OpenGL Utility Toolkit)是一个处理OpenGL程式的工具库,负责处理和底层操作系统的呼叫以及I/O. 是专为构建中小型OpenGL程序.虽然GLUT是适合 ...

  4. OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew

    看了网上很多资料,讲的都不是很全,正好在学这一块,好好地总结一下吧 注:在windows中,对这些库的大小写是不作要求的 gl.h gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: ...

  5. OpenGL 各类库的解析gl glu glut freeglut glfw glew

    gl.h gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: C:\Program Files (x86)\MicrosoftSDKs\Windows\v7.0A\Include\gl ...

  6. Linux下的GitHub安装与简单配置教程

    1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与使用 在ubuntu下可以使用如下命令进行查看系统 ...

  7. Win10下Python3.x环境安装和配置教程

    Window10下Python环境安装 1. 下载Python的安装包 打开浏览器访问https://www.python.org/downloads/windows/ . 此步骤完成,本地以下载好p ...

  8. win10环境下Android SDK下载安装及配置教程

    最近在配置Android环境时,发现网上许多教程都是在win7版本下进行配置的且存在许多问题,按照流程无法正确配置环境,因此我在收集网上资料及亲自配置成功的情况下,写出此文章.如有无法配置成功的话,欢 ...

  9. win10环境下Android SDK下载安装及配置教程----Android SDK安装

    接着上一篇文章,这个章节主要是安装Android SDK和配置Android SDK环境 1.下载并安装Android SDK 下载Android SDK Tools,可以选择去我的百度网盘上下载(链 ...

最新文章

  1. 如何使用OpenCV和Socket进行视频聊天?
  2. Nature子刊:利用转细菌基因植物修复土壤有毒污染物!
  3. 重大合同实为旧事 数据港信披被上交所问询
  4. 青龙羊毛——去趟转(搬运,非原创)
  5. Vim设置括号自动补全和快速跳出
  6. 【数字信号处理】相关函数 ( 功率信号 | 功率信号的互相关函数 | 功率信号的自相关函数 )
  7. 【zepto学习笔记01】核心方法$()
  8. java全局机制,java实现全局异常机制
  9. bash初识,shell的基础语法及基本特性
  10. 开始用Flutter做游戏吧
  11. Linux技术进阶示意图
  12. CSS:布局——左右两个DIV,左侧宽度固定,右侧占满剩余部分
  13. Scrapy爬取QQ音乐、评论、下载、歌曲、歌词
  14. WiFi 的认证方法
  15. 计算机表格两行互换步骤,表格excel数据互换位置-EXcel表格中,怎么把两行互换...
  16. Win2008 Server R2 服务器拒绝共享访问
  17. 我的2015—跌宕与破晓
  18. 黑马SQL入门到精通笔记 —— 进阶篇
  19. PowerDesigner创始人的个人成长经历
  20. Logistic回归-数学原理(1)机器学习实战

热门文章

  1. Java匿名内部类方法调用
  2. R语言使用table函数统计dataframe数据中的离散变量(分类变量、因子变量)数据列的每一种水平的统计计数
  3. usb_cam的ROS2甜点
  4. 计算机控制的节能路灯系统,LED路灯节能控制系统的设计与应用
  5. Centos7 安装 OpenStack 遇到过的错误
  6. 7、android 高级控件(1)(下拉列表)
  7. JavaScript中string与number
  8. “forEach” is not a function
  9. GO:切片Slice的概念,使用及线程安全性
  10. oracle数据库dbmon授权,Oracle数据库监控软件 MyDBMon 工具 下载 系统