前言

高考完之后填志愿,当时想以后去做游戏,所以选择了计算机这个专业,之前捣鼓过U3D,这学期也开始了计算机图形学的学习,最近学习了OpenGL相关的一些内容,将在博客中记录这系列的学习。这篇开篇博客将介绍环境的配置。

配置过程

本地环境

Window 10 + VS2017

配置环境

GLUT + GLUI

GLUT

1)下载GLUT。Windows环境下的GLUT下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

2)将下载的压缩包解开,将得到5个文件:glut.h、glut.lib、glut32.lib、glut.dll、glut32.dll。

3)将glut.h放到"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\gl"文件夹中(gl文件夹若不存在则手动新建)。

4)将glut.lib和glut32.lib放到"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\lib\x86"文件夹中。

5)将glut.dll和glut32.dll放到"C:\Windows\System32"文件夹(32位操作系统)或者"C:\Windows\SysWOW64"文件夹(64位操作系统)。

6)测试GLUT配置环境

打开VS,新建项目,填入合适的名字如OpenGLTest,然后选择确定。
在弹出的对话框中点击下一步,然后在附加选项中选择空项目,点击完成。

向项目中添加下面代码

#include <GL/glut.h>
#include<gl/gl.h>
#include<gl/GLU.h> void myDisplay()
{
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(, );
glutInitWindowSize(, );
glutCreateWindow("第一个OpenGL程序");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return ;
}

运行结果如下

GLUI

1.下载glui源代码并解压到合适的目录(路径中最好不要出现中文)

2.打开"glui-2.36\src\msvc"目录下的glui.sln解决方案文件

这里会出现要升级方案,直接点击确定就行

3.重定解决方案

点确定即可

4.在“解决方案资源管理器”中右键点击“解决方案"glui"”项,点击批生成,勾选前四项,点击生成。

这时,我们会遇到第一个错误

双击其中一个,然后将下面圈中的代码放到类外

然后重复之前生成操作,点击重新生成就ok了。

你真的以为好了吗?不存在的,我们又遇到了下面这个错误

这个错误搞了我好久,百度了很多方案都是针对2013之前版本的VS的,这里有更方便的操作方式

右键_gluidll library,点击属性

在连接器->高级中选项更改如下

应用,确定,然后重新生成

这次能成功吗???

我好像又报这个错误了。。重启VS,然后重新生成,好的,它成功了,我也不知道为什么。。不管了,继续。。orz

5.对example1-6做同样的操作,把SAFESEH改成NO,在“解决方案资源管理器”中右键点击“解决方案"glui"”项,点击批生成,取消选择前四项,勾选其余项,点击生成。

然后到目录bin下,可以看到这几个文件,随便点一个exe文件

嗯,成功了,但还没结束,接下来是跟前面GLUT相同的配置步骤

把lib文件夹下所有.lib文件放入C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\lib\x86

把bin文件夹下glui32dlld.dll 放入 C:\Windows\SysWOW64 或 C:\Windows\System32中

最后,把 glui-2.36\src\include\GL 目录下的 glui.h 复制到 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\gl 中

这样,我们的配置就算完成了,后面就是自己跑代码测试了。

下面是我跑的实验代码的测试结果

结语

现在再看看编译过程,感觉好简单,昨天居然弄了一早上才弄好,诶。。。环境算是配置好了,接下来就是愉快的敲代码时间了。后面的博客中将会把学习过程一一记录下来。

从零开始OpenGL—— 一、 环境配置的更多相关文章

  1. Fedora和Ubuntu下安装OpenGL开发环境配置

    Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...

  2. OpenGL开发环境配置-Windows/MinGW/Clion/CMake

    因为某些原因,不想用过于臃肿的VS了,转而使用常用的jetbrains的CLion,Clion沿袭了jetbrans的优良传统,基本代码提示功能还是比较好的,不过就是对于windows不熟悉cmake ...

  3. OpenGL+VS2010环境配置及遇到的问题

    OpenGL+VS2010+GLUT工具包+WIN10系统: 第一步,安装GLUT工具包 Windows环境下的GLUT下载地址:(大小约为150k) http://www.opengl.org/re ...

  4. OpenGL 开发环境配置:Visual Studio 2017 + GLFW + GLEW

    Step1:Visual Studio 2017 Why 开发环境,后面编译GLFW 和 GLEW也要用 How 这里使用的是Visual Studio 2017的 Community 版本,直接官网 ...

  5. Windows7+VS2010下OpenGL的环境配置

    http://johnhany.net/2014/01/environment-for-opengl-with-vs2010/ OpenGL(Open Graphics Library)是一个开放的. ...

  6. 史上最简单OpenGL+VS2017环境配置

    这里采用 最简单的方法: (1)添加Nuget包管理器(方便我们为项目添加OpenGL的库) (2)新建一个项目 右键我们的项目名 ——> 管理NuGet程序包——>搜索nupengl,然 ...

  7. Java从零开始学一(环境配置)

      一.JDK的下载和安装 1.下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151. ...

  8. 64 计算机图形学入门(1)——OpenGL环境配置与图形流水线(图像管线)

    0 引言 最近想学一下计算机图形学方面的知识,原因如下.目前本人接触了数字图像处理(opencv)以及点云处理(PCL)方面的知识,对从图像和点云中提取特征信息,并将特征转化为底层/中层语义信息有了一 ...

  9. VC++6.0使用OpenGL前的配置(必看)

    要在VC++6.0中使用opengl,需要配置一下环境设置. 具体需要两步: 1.加入一个头文件,两个lib文件,两个dll文件,放在合适位置. 2.配置一下vc++6.0的Project Setti ...

  10. 【游戏开发】基于VS2017的OpenGL开发环境搭建

    一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形 ...

随机推荐

  1. 使用注解的Hibernate one-to-many映射

    One to many映射关系指的是两个实体间一个实体可以和多个实体有关联关系,但是多的这一端只能和一的这一端的一个实例有关系.它是一个1 到 n的关系.例如在任何的公司员工可以注册多个银行账户,一个 ...

  2. sed命令及替换文件内容

    一.sed (三剑客老二) 1.sed 替换文件内容 sed  s###g  file  前面两个#中的是原内容,后两个#中的是替换的内容 例:将a.txt文件中的linux替换成java 但是,此时 ...

  3. ECMAScript---object对象类型详解

    普通对象:由大括号包裹起来的,由零到多个属性名和属性值(键值对)组成的 那什么是属性呢? 属性:描述当前对象特征的,属性名是当前具备这个特征,属性值是这个特征的描述(专业语法,属性名称为键[key], ...

  4. Codeforces 1008C

    题意略. 思路: 其实我们没有必要关注每个数字的位置,我们只要把大的数字放在小的数字上就可以了,这样它的位置必然会发生变换. 在变换时,这个替换的序列越长越好,每个序列对答案的贡献就是该序列的长度 - ...

  5. 《Java 8 in Action》Chapter 9:默认方法

    传统上,Java程序的接口是将相关方法按照约定组合到一起的方式.实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现. 但是,一旦类库的设计者需要更新接口,向其中加入新的方法, ...

  6. Delphi - 通过WinAPI GetCursorPos实现鼠标位置的实时显示

    通过WinAPI GetCursorPos实现鼠标位置的实时显示 有时候我们需要将鼠标的位置实时抓取出来,可以通过如下方式实现. 添加一个Timer控件,执行间隔改为100ms,双击控件输入如下代码: ...

  7. CF981C Useful Decomposition 树 dfs 二十三 *

    Useful Decomposition time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. JSP内置对象(一)

    一.out对象out对象是JspWriter类的实例,是向客户端输出内容常用的对象1.void println() out的println()方法,向客户端打印字符串 2. void clear() ...

  9. SpringBoot集成Zipkin实现分布式全链路监控

    目录 Zipkin 简介 Springboot 集成 Zipkin 安装启动 zipkin 版本说明 项目结构 工程端口分配 引入 Maven 依赖 配置文件.收集器的设置 编写 Controller ...

  10. erlang加密模块crypto的一些使用

    crypto 模块描述:该模块提供一系列加密函数: 散列函数-安全散列标准,MD5报文摘要算法(RFC 1321)和MD4报文摘要算法(RFC 1320); Hmac函数-散列消息认证(RFC 210 ...