OpenGL 学习笔记(一)——开始以及OPENGL环境配置
来源:互联网 发布:芜湖编程招聘 编辑:程序博客网 时间:2024/05/29 07:56
今天,开始学习OPENGL,以后会定期地发布博客,鼓励自己学习,以及督促自己学习。浪费了许久的时间,终于觉得有必要学习一些东西了。希望还不会太晚吧。好了话不多说,首先开始OpenGL 的环境配置吧。
一、安装GLUT工具包(可选)
GLUT并不是OpenGL必须用的在OpenGL中,gl库是核心库,glu是实用库,glut是实用工具库,gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库,gl中包含了最基本的3D函数,而glu似乎对gl的辅助,如果算数好,不用glu的情况下,也是可以做出同样的效果。glut是基本的窗口界面,是独立于gl和glu的,如果不喜欢用glut可以用MFC和Win32窗口等代替,但是glut是跨平台的,这就保证了我们编出的程序是跨平台的,如果用MFC或者Win32只能在windows操作系统上使用。选择OpenGL的一个很大原因就是因为它的跨平台性,所以我们可以尽量的使用gt库。
二、VS环境配置
以我使用的VS2013为例。首先将下载的压缩包解压,得到5个文件包含2个.dll,2个.lib,和1个.h文件。(glut.dll, glut32.dll, glut.lib, glut32.lib,glut.h)
把.h文件复制到X:\...\Visual Studio 2013\VC\include\gl文件夹中,没有则新建一个。
把两个lib文件放到静态函数库库所在文件夹中(与include同级的lib文件夹)。
把两个.dll文件放到操作系统目录下的system32文件夹中。
至此OpenGL的环境就配置完成了。
三、第一个OpenGL程序
接下来完成第一个OpenGL程序。
首先创建工程:创建一个win32控制台应用程序;
链接OpenGL libraries。在VS中右击项目,属性,链接器,输入,在附加依赖库中加上opengl32.lib;glut32.lib;glu32.lib
然后将以下例子拷贝到工程中编译运行,可以看到一个三角形。
#include "stdafx.h"#include<gl/glut.h>#include<gl/glu.h>#include<gl/gl.h> void renderScene(void){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glBegin(GL_TRIANGLES); glVertex3f(-0.5,-0.5,0.0); glVertex3f(0.5,0.0,0.0); glVertex3f(0.0,0.5,0.0); glEnd(); glutSwapBuffers();} int _tmain(int argc, _TCHAR* argv[]){ glutInit(&argc, (char**) argv); glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA); glutInitWindowPosition(100,100); glutInitWindowSize(320,320); glutCreateWindow("Hello OpenGL"); glutDisplayFunc(renderScene); glutMainLoop();//enters the GLUT event processing loop. return 0;}
在看到结果的时候会发现除了一个opengl的渲染窗口以外还有一个黑窗,对于这种情况,可以在包含库文件之后加上以下代码
#pragma comment(linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"")
之后就没有那个小黑窗口啦。
- OpenGL 学习笔记(一)——开始以及OPENGL环境配置
- OpenGL(一)——环境配置
- OpenGL学习笔记(一):OpenGL环境搭建
- OpenGL学习笔记【一】——VS2008与OpenGL2.0环境配置
- OpenGL学习笔记一——环境搭建
- OpenGL学习笔记(一):环境搭建、三维空间坐标系理解以及OpenGL的基本使用
- OPENGL—环境配置
- 初识openGL---openGL学习笔记(一)
- OpenGl学习(一)mac环境配置
- openGL学习笔记一:环境搭建
- OpenGL学习笔记--配置VS环境
- Opengl学习笔记(一)
- OpenGL学习笔记(一)
- OpenGL学习笔记(一)
- OpenGL 学习笔记(一)
- opengl学习笔记(一)
- OpenGL学习笔记(一)
- OpenGL学习笔记(一)
- poj 1860 Currency Exchange
- AdapterViewFlipper的用法
- 异步IO
- Android 下拉控件:Spinner
- 反编译apk文件
- OpenGL 学习笔记(一)——开始以及OPENGL环境配置
- oracle函数wmsys.wm_concat--有道笔记整理
- Thrift安装配置及使用python通过thrift连接HBase测试
- struts2 ajax一个很经典的小例子
- SparkSql搭建
- PHP将编码转为UTF-8
- Mac OS上反编译android app的环境搭建
- com.android.dex.DexException: Multiple dex files define的解决办法 (Android Studio)
- NSURLSession使用说明及后台工作流程分析