主题:[原创]OpenGL入门学习——写给想用计算机画图的朋友
eastcowboy
[专家分:25370] 发布于 2006-07-30 14:09:00
说起编程作图,大概还有很多人想起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 楼
风中的树 [专家分:0] 发布于 2007-01-03 21:24:00
楼主好,我在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 楼
eastcowboy [专家分:25370] 发布于 2007-01-04 16:54:00
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 楼
风中的树 [专家分:0] 发布于 2007-01-06 00:45:00
谢谢eastcowboy,我通过显式的指出连接库文件的位置,现已一切正常。
eastcowboy功力极深,以后还要向你多请教。
再一次表示衷心地感谢!!!
44 楼
19860815abc [专家分:20] 发布于 2007-01-24 11:30:00
OpenGL是不错的语言,我学过C,但没用过OpenGL,很遗憾.我见过别人用OpenGL做图,很不错,很想试试
45 楼
linyou [专家分:280] 发布于 2007-01-24 13:08:00
OpenGL很简练, 你只需要计算机图形学知识 就可以 很容易的 深入。
很多计算机图形学书籍都是用OpenGL作为描述语言的。
如果你的上司没有要求你必须用D3D(特指其中的DirectDraw模块),那么最好用
别再你的程序中使用他, 微软使用COM技术把一个很简单的使用弄的很复杂
OpenGL则很简单易懂, 更重要的是 你可以下载一个开原版的OpenGL实现(Mesa)
翻看OpenGL源代码来帮助理解。
46 楼
LeopoldHHz [专家分:0] 发布于 2007-01-25 16:58:00
我也开始自己的OpenGL了。
谢谢您写的教材,我的开始将从您这儿开始。
47 楼
airmise [专家分:1110] 发布于 2007-01-25 19:09:00
先谢了
后面啊
48 楼
caojun80cj [专家分:0] 发布于 2007-03-02 22:28:00
楼主好帖子啊
应该支持,先学习下
49 楼
shinel111 [专家分:50] 发布于 2007-03-15 11:37:00
我装了vc++6.0 但找不到gl.h 要怎么办啊?
50 楼
conqest [专家分:0] 发布于 2007-05-02 19:58:00
顶,太帅了
我来回复