关闭

OpenGL 学习笔记(一)——开始以及OPENGL环境配置

标签: opengl学习笔记
42人阅读 评论(0) 收藏 举报
分类:

         今天,开始学习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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:43次
    • 积分:10
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档