回 帖 发 新 帖 刷新版面

主题:[原创]OpenGL入门学习——写给想用计算机画图的朋友

说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧?
但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。

[color=0000FF]本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。[/color]

OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。
[color=FF0000]1、与C语言紧密结合[/color]。
OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,[color=0000FF]使用OpenGL作图甚至比TC更加简单[/color]。
[color=FF0000]2、强大的可移植性[/color]。
微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL的基本命令都做到了硬件无关,甚至是平台无关。
[color=FF0000]3、高性能的图形渲染[/color]。
OpenGL是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL提供强力支持,激烈的竞争中使得OpenGL性能一直领先。
总之,OpenGL是一个很NB的图形软件接口。至于究竟有多NB,去看看DOOM3和QUAKE4等专业游戏就知道了。
OpenGL官方网站(英文)
[color=0000FF]http://www.opengl.org[/color]

下面我将对Windows下的OpenGL编程进行简单介绍。

=====================未完,请勿跟帖=====================

回复列表 (共70个回复)

41 楼

楼主好,我在VC6中Compile你的那个OpenGL程序,无错,可是Build时却出现了如下两个错误:
(1)unresolved external symbol ___glutInitWithExit@12
(2)unresolved external symbol ___glutCreateWindowWithExit@8
想请教版主该如何办?
注:我已将glut.h复制到VC98\Include\GL下,将glut32.lib,glut.lib复制到VC98\Lib下,将glut32.dll,glut.dll复制到System32下

42 楼

To 风中的树@41:
你说的这种情况我并没有遇到过。但看样子是你的静态连接库位置没有设置正确,导致连接失败。
你可以试着改变glut.lib和glut32.lib两个文件的位置。搜索"*.lib",凡是遇到某个文件夹,它的多数文件都是*.lib的,就把这两个文件放进去试一试,或许它们应该被放到那里。
也可以试试显式的指出连接库文件的位置。打开glut.h文件,找到下面一行:
#pragma comment (lib, "glut32.lib")    /* link with Win32 GLUT lib */
将其中的"glut32.lib",修改为你所需要的路径,例如:"D:\\VC\\lib\\glut32.lib"

43 楼

谢谢eastcowboy,我通过显式的指出连接库文件的位置,现已一切正常。
eastcowboy功力极深,以后还要向你多请教。
再一次表示衷心地感谢!!!

44 楼

OpenGL是不错的语言,我学过C,但没用过OpenGL,很遗憾.我见过别人用OpenGL做图,很不错,很想试试

45 楼

OpenGL很简练, 你只需要计算机图形学知识 就可以 很容易的 深入。
很多计算机图形学书籍都是用OpenGL作为描述语言的。

如果你的上司没有要求你必须用D3D(特指其中的DirectDraw模块),那么最好用
别再你的程序中使用他, 微软使用COM技术把一个很简单的使用弄的很复杂

OpenGL则很简单易懂, 更重要的是 你可以下载一个开原版的OpenGL实现(Mesa)
翻看OpenGL源代码来帮助理解。

46 楼

我也开始自己的OpenGL了。
谢谢您写的教材,我的开始将从您这儿开始。

47 楼

先谢了
后面啊

48 楼


楼主好帖子啊
应该支持,先学习下

49 楼

我装了vc++6.0 但找不到gl.h 要怎么办啊?

50 楼

顶,太帅了

我来回复

您尚未登录,请登录后再回复。点此登录或注册