OpenGL教程之ZEUS教程第二课:设置OpenGL编程环境

翻译 2007年10月09日 21:54:00
 

ZEUS 教程2设置OpenGL编程环境

作者:Grant James (ZEUS)    翻译:oglmatrix

译者序:Grant James (ZEUS)OpenGL教程比较简单,基本属于入门级教程,教程中对OpenGL的使用过程讲解的极为细致,有的时候感觉都过于详细,不过对于初学者这是好事。英文教程中每篇都有相应的源码下载,如果你使用教育网不方便下载的话,也可以与我联系。

英文教程的网址:http://www.zeuscmd.com/tutorials/opengl/index.php

中文翻译网址:http://blog.csdn.net/oglmatrix/

 

简介

 

本教程将会告诉你如何在C/C++中建立使用OpenGL的编程环境。

•如果你想在Windows下并且使用微软Visual Studio.NET编程的话,请看Visual Studio.NET部分。

•如果你想在Windows下编程,但使用一个免费的编译和开发环境(Dev-C++),请看Dev-C++部分。

•如果你想在Unix / Linux环境中编程,请看Unix / Linux部分

 

Microsoft Visual Studio.NET

 

首先你需要确认已经安装Visual Studio.NET (VS.NET)

打开VS.NET,点击File > New ProjectProject Types下选择Visual C++ ProjectsTemplates下选择Win32 Projects

输入一个工程名字,比如02-SettingUpYourEnvironment之类,点击OK

这时向导就会出现,点击Application Settings选择Empty Project如果你想学习使用Win32的教程,选择Windows Application.如果你想学习使用GLUT的教程,选择Console Application.

单击Finish如果你没有在Solution Explorer窗口中看到你得测试工程,选择View > Solution ExplorerSolution ExplorerSource Files上点击右键,选择Add > New Item选择C++ File(cpp)并且键入main.cpp作为文件名,点击OK

此时你会得到一个空白页,如果你现在按F5来编译和连接你的文件,你会发现因为出现连接错误而不能继续进行,你可能会看到类似下面的错误:"error LNK2019: unresolved external symbol _WinMain@16 referenced in function _WinMainCRTStartup".
   
不过不用担心,这是因为你没有编写任何代码。你已经学习怎样成功地建立一个VS.NET工程开始编程。

如果你决定学习那些使用Win32的教程,请开始阅读Win32部分,如果你决定使用GLUT学习,请开始阅读GLUT章节。

 

使用Visual StudioWin32进行OpenGL编程

 

第一步是在main.cpp中输入以下代码,main.cpp的内容:

当链接你的OpenGL应用程序的时候,下面包含两个动态库的这两行是必需的。许多其他的源代码会告诉你怎么在IDE中配置,但把下面的代码放在你的源代码中更为简单。注意,opengl32.libglu32.lib是必需要添加的,这些在最新版本的Visual Studio.NET即将成为标准。



下面的三行是我们在使用这个教程的过程中必须包含的头文件。GL/gl.h主要是用来使用标准的OpenGL函数库,GL/glu.h是用来使用OpenGL实用库中的部分函数。





下面我们将书写一些简单的OpenGL函数。你现在不用担心这些函数,在这里调用它们是为了简单测试是否包含正确的头文件,如果你发现类似下面的错误: error LNK2019: unresolved external symbol __imp_glEnable@4 referenced in function _WinMain@16,这就表明你的.lib文件没有正确地被指定。

现在你就可以开始使用OpenGL ,Win32Visual Studio.NET.编写你的应用程序。

 

使用Visual StudioGLUT进行OpenGL编程

 

你的第一步是从Nate Robins的网站上下载GLUT包,下载二进制包,编写这个教程的时候的版本是3.7.6,因此需要下载的文件就是glut-3.7.6-bin.zip.

解压缩这个文件之后,有三个文件我们将会使用到,它们是glut.hglut32.lib glut32.dll

你需要把glut.h文件放在你的Visual Studio.NETinclude目录下,同时把glut32.lib放在你的lib目录下,这些目录的位置与你的Visual Studio安装位置有关,如果你的Visual Studio安装在“C:/Program Files/Microsoft Visual Studio .NET 2003/”目录下,那么glut的目录如下:

C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/include/gl/glut.h

C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/lib/glut32.lib

当你运行已经编译的GLUT应用程序的时候需要glut32.dll文件,这个文件需要和你的应用程序放在同一个目录下,一个更为简单的方法就是把它放在“C:/windows/system32”目录下。这样你可以不必在你创建的所有应用程序的同一目录下放置glut32.dll文件。这样会导致一个问题,如果你想在另外一台机器上运行任一个你的应用程序,你需要记得把glut32.dll和你的应用程序一起拷贝。

现在是时候写一些代码了,把下面的代码放在你的main.cpp文件中。

main.cpp文件内容:

我们的第一行是包含GLUT的头文件:



不用担心下面调用的两个函数,第一个只是简单地测试GLUT的函数调用,第二个测试一个OpenGL函数调用,我们会在接下来的其他教程中讨论这些函数的。

如果所有的都很好地运行,现在你就可以使用Visual Studio.NETGLUT创建你的应用程序了。

 

Dev-C++

 

首先你应该已经安装Dev-C++,我现在使用的是Dev-C++ Version 5测试版,可以从http://www.bloodshed.net/上下载。

如果你想学习使用Win32的教程,请继续阅读Win32部分,如果你想学习使用GLUT开发的教程,请学习GLUT部分。

 

使用Dev-C++Win32进行OpenGL编程

 

选择File > New > Project

    选择标签Multimedia,接着选择OpenGL,输入02-SettingUpYourEnvironment作为工程的名字,点击OK然后选择你的工程存储的位置。

    这个工程将会生成一个文件,其中包含几行代码,删除这些代码,输入下面的代码

main.cpp的内容:

首先必须包含以下三个头文件,这是我们在整套教程中必须的。头文件GL/gl.h是用来调用OpenGL标准库的函数,GL/glu.h则是调用OpenGL实用库的一些函数。





下面将会放置一些简单的OpenGL函数,不用担心这些函数的作用,在此调用仅仅是为了测试所包含的头文件的正确性,如果你得到一个如下的错误:error LNK2019: unresolved external symbol __imp_glEnable@4 referenced in function _WinMain@16,这是因为你的OpenGL库文件放置的位置不正确,导致你不能创建一个OpenGL类型的工程。

现在你已经成功建立在Dev-C++中使用Win32编制OpenGL程序的环境。

在有些情况下,GLU实用库没有被默认设置,这时你可以选择Project > Project Options菜单,然后选择Parameters标签,在Linker框中添加-lglu32

 

使用Dev-C++GLUT进行OpenGL编程

 

首先你需要从Nigel Stewart's网站上下载Dev-C++版本的GLUT包,下载GLUT 3.7.6+,下载完成之后双击安装,然后把所需要的库文件和头文件放在你Dev-C++的安装目录下的相关位置。

点击File > New > Project,选择Multimedia标签,在安装GLUT包之后会出现一个GLUT选项,选择GLUT,输入02-SettingUpYourEnvironment作为工程的名字,点击OK然后选择你的工程存储的位置。

这个工程将会生成一个文件,其中包含几行代码,删除这些代码,输入下面的代码

main.cpp的内容:

在第一行输入GLUT的头文件,



不用担心下面的两个函数调用,第一个只是简单地测试 GLUT函数调用,第二个用来测试OpenGL函数调用,我们将在后面的教程中详细解释它们。

 

注意此时没有控制台窗口出现,而在GLUT教程中的第二课和第三课,需要控制台窗口来显示输入结果。如果你想实现这个功能的话,单击Project > Project Options或者Alt + P然后General选择Win32 Console

恭喜你,你已经知道怎么在Dev-C++中编译你的GLUT程序。

 

Unix / Linux

 

目前,所有的Unix / Linux下的教程都是采用GLUT编写,在后面的章节可能会用到其他的库。第一步你得确认已经安装GLUT,你可以通过检查你的/usr/lib目录下是否存在libglut文件来进行确认。如果没有你需要下载GLUT rpm

在我写这个教程的时候,我正在使用Fedora Core 3,这个系统中包含FreeGLUT库,它可以直接地取代 GLUT,如果你有其中的任何一个,你都能编译这些教程。

把下面的内容输入到一个main.cpp文件,

main.cpp的内容:

第一行是简单地包含GLUT的头文件



不用担心下面的两个函数调用,第一个只是简单地测试 GLUT函数调用,第二个用来测试OpenGL函数调用,我们将在后面的教程中详细解释它们。


一旦这个完成之后,我们需要创建一个Makefile文件。

这与C++教程中的Makefile的唯一不同之处在于它连接了三个新的动态库,它们分别是OpenGL库,OpenGL实用库,GLUT库。



 

现在make的话,你的程序应该能够被成功编译。你一定可以成功地在Unix / Linux上编译你的GLUT应用程序。

 

PS:余学OpenGL数月,甚感国内教程之少,故将国外教程译之,方便国人。由于本人能力有限,翻译中难免出现错误,还望各位指正!Emailoglmatrix@126.com

本教程的示例程序请在英文网站下载,抑或与我联系。

版权所有,转载请注明出处,本教程英文版权属原著作者所有。

 

用VC++编制FTP客户端应用程序

用VC++编制FTP客户端应用程序  FTP协议将使用两条单独的TCP连接,一条专用于发送FTP命令,另一条则专用于传递数据。初始建立连接时,服务器在21号端口上接收来自客户端的命令连接。当需要传送数...
  • ghj1976
  • ghj1976
  • 2001-08-20 11:36:00
  • 1499

openGL 教程之——NEHE OpenGL 教程

  • 2008年10月14日 18:01
  • 8.84MB
  • 下载

OpenGL教程之——OpenGL红宝书

  • 2008年10月14日 18:03
  • 4MB
  • 下载

openGL教程之——OpenGL 编程指南(含源码)

  • 2008年10月14日 18:04
  • 5.46MB
  • 下载

picture控件上使用OpenGL绘图

  • 2013年12月06日 10:36
  • 24.83MB
  • 下载

Opengl教程之 读取obj并绘制在picturecontrol控件内

Opengl教程之读取obj并绘制在picturecontrol控件内 By Cracent 注:本文将简单图文表述基于MFC对话框的OpenGL三维显示(picture control 类版)...
  • Cracent
  • Cracent
  • 2016-04-02 19:20:47
  • 4745

十大OPENGL教程

1.http://nehe.gamedev.net/     这个是我觉得全世界最知名的OpenGL教程,而且有网友将其中48个教程翻译成了中文http://www.owlei.com/Danc...
  • zhuangxiaobin
  • zhuangxiaobin
  • 2016-10-19 20:57:26
  • 2896

【菜鸟也能玩转OpenGL】概述

本系列文章由 莫问 出品,转载请注明出处。 文章链接:http://blog.csdn.net/mni2005/article/details/27228111 作者:莫问(mni2005) ...
  • mni2005
  • mni2005
  • 2014-05-27 19:06:17
  • 1018

计算机图形学 openGL 教程之——OpenGL编程权威指南

  • 2008年10月14日 17:59
  • 16.54MB
  • 下载

OpenGL基础教程

市面上的OpenGL教程不够系统,知识比较零碎,有的太难,有的又太简单,本课程从一线编程实践经验出发,0基础学习OpenGL底层知识, 讲解最重要最常用的知识点和整个框架体系,便于学员快速掌握,并且提供了大量的实际代码案例,便于学习。
  • 2017年07月04日 11:19
收藏助手
不良信息举报
您举报文章:OpenGL教程之ZEUS教程第二课:设置OpenGL编程环境
举报原因:
原因补充:

(最多只允许输入30个字)