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/"")

       之后就没有那个小黑窗口啦。


0 0
原创粉丝点击