游戏开发论坛

 找回密码
 立即注册
搜索
查看: 132967|回复: 87

关于怎么学习API (OpenGL/Direct3D等) -针对初学者

[复制链接]

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2004-4-2 12:35:00 | 显示全部楼层 |阅读模式
      关于怎么学习API (OpenGL/Direct3D等)
                                                                                     -针对初学者

      最近很多人在问,我该如何学习OpenGL?我学完了OpenGL了,该怎么用?
      我想在回答这些类似的问题以前先和大家谈谈怎么学习API的方法,或许谈完了,我就不需要回答了。 
      首先,我认为API是工具,不是本质,OpenGL/Direct3D的本质是图形学,而不是OpenGL/Direct3D的本身,API的本身只是一些Interface而已.如果你明白图形学的原理.那么你很容易这些接口的作用,以及为什么要有这些接口的存在.所以,我要说的第一点是:你要学习3D编程,不是学会了OpenGL/Direct3D就可以了。甚至会不会这些API都不是那么的重要(虽然这么说,或许很多人不太赞同).最重要的,最根本的是,你要明白这些API背后的图形学的原理---因为那才是根本中的根本.
    下面我来介绍我对API学习的看法.
我认为API的学习有两种方法:一是正向学习.二是反向学习.
     一:正向学习,所谓的正向学习,就是学习API的本身.我觉得这种方法是一种Brute Force行为.不是很好.我们只要看看API的特性,有那些部分.就可以了。比如学习Direct3D的时候,我们要知道它如何初始化,以及它和操作系统的结合.它在Direct3D8里引入了VS/PS.最后就是创建一个Direct3D应用的步骤和方法.这些就足够了。要不然.Direct3D那么多的函数,每一个都会要了我的命.
     正向学习的第二个作用就是你在熟悉了图形学和大概了解了API后,有空就来看看API的细节,然后思索一下API里提供的一些特性对你的程序有什么作用.比如Direct3D里的Two Side Stencil.OpenGL里的TextureCombine等。

      二:逆向学习.这是根本的方法,到了这一步,你就可以真正的算是图形学入门了。这要求你要有一定的图形学基础.比如,你现在开始做一个demo.你预计你的demo里有一堆眩眩的效果,当然你也要明白你的这些眩眩的效果要怎么实现的.然后你去找API里对应的功能,我想如果你的想法正常,一般的功能在Direct3D/OpenGL里应该都会有的.当然你也会碰到你想要的功能在这些API里没有,但是这不重要,重要的是你又学到新东西了---这个特性在XX API里不支持^_^.

     通常我是采用先正向,再逆向,同时再进行正向学习的方法.希望以上的建议,对各位初学者有一定的帮助.

                    Stanly Lee Xheartblue.
                    心蓝

5

主题

255

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
发表于 2004-4-2 13:55:00 | 显示全部楼层

Re:关于怎么学习API (OpenGL/Direct3D等) -针对初学者

多看多写

37

主题

378

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
发表于 2004-4-3 11:39:00 | 显示全部楼层

Re:关于怎么学习API (OpenGL/Direct3D等) -针对初学者

那么所说的图形学知识包括哪些呢?

11

主题

132

帖子

132

积分

注册会员

Rank: 2

积分
132
QQ
发表于 2004-4-3 16:43:00 | 显示全部楼层

Re:关于怎么学习API (OpenGL/Direct3D等) -针对初学者

呵呵,,顶顶~~~

不过还是先把数学,物理看看,如果实在步习惯矩阵,齐次坐标等,还是不要学OGL,(D3D不熟悉,不知道矩阵复杂不复杂).学学DD也还是不错的~~~

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
 楼主| 发表于 2004-4-3 17:47:00 | 显示全部楼层

Re:关于怎么学习API (OpenGL/Direct3D等) -针对初学者

图形学包括数学和图形学本身.
你要是连矩阵是什么,为什么矩阵可以用来变换坐标.为什么坐标要用四个数来表示的话,还学什么图形学啊?
老有人问我:一个像素对应gl的点的位置是几啊?每每我都狂昏.

37

主题

378

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
发表于 2004-4-3 21:45:00 | 显示全部楼层

Re:关于怎么学习API (OpenGL/Direct3D等) -针对初学者

为什么矩阵可以用来变换坐标.为什么坐标要用四个数来表示:
这些我都不太懂,但是我知道怎么算,具体运行起来是怎么回事,顺序不同效果不同,还有点积叉积,就这些了……

11

主题

132

帖子

132

积分

注册会员

Rank: 2

积分
132
QQ
发表于 2004-4-4 09:20:00 | 显示全部楼层

Re:关于怎么学习API (OpenGL/Direct3D等) -针对初学者

所以要先看<黑克帝国>  高级矩阵教程

2

主题

23

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2004-4-7 11:29:00 | 显示全部楼层

Re:关于怎么学习API (OpenGL/Direct3D等) -针对初学者

好贴
有启发

32

主题

543

帖子

543

积分

高级会员

Rank: 4

积分
543
发表于 2004-4-8 11:42:00 | 显示全部楼层

Re:关于怎么学习API (OpenGL/Direct3D等) -针对初学者

What is<黑克帝国>  高级矩阵教程???

54

主题

2917

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2004-4-9 07:27:00 | 显示全部楼层

Re:关于怎么学习API (OpenGL/Direct3D等) -针对初学者

我顶
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-6 07:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表