关于《3D管线导论》这本书

来源:互联网 发布:新浪微博的域名 编辑:程序博客网 时间:2024/04/30 22:30

游戏开发中,计算机图形学是必不可少的东西。许多人也是从接触图形开始而进入游戏行业的。3D管线导论这本书诠释了3D管线的细节。为大家解开了萦绕已久的迷团。

很多次偶然地看到 《3D pipeline tutorial》(3D管线导论)这本书的推荐。 今天就狠下心来搜索了一下。 下载了一个电子版来瞧瞧。

发现自己曾经百思不得其解的内容就全在里面。

这本书介绍了我们的图形应用程序场景中一些常用的方法。

如:对象遍历,对象移动,摄像机移动,可见对象查询,LOD等。

而本书的重头戏则在于,他详细地讲述了一个三角形和其纹理等信息,从输入到输出到屏幕所经历的过程。

先前我就一直在查找这方面的资料,要是自己当初就下了这本书。那多好哇。

简单列一下3D管线工作流程,这也是许多图形API 如D3D OPENGL大致的工作方式。

顶点处理阶段

普通变换:平移,缩放,旋转。

世界变换:从模型本地坐标系变到世界坐标系。

观察变换:从世界坐标系变到观察坐标系。

观察投影:从观察坐标系变换到投影空间。 投影是一个降维的过程。 也就是说,投影便是从3D到2D的过程。

少量的剔除:(Trivial Accept/Reject Culling)

背面剔除(也可以在稍后的屏幕空间中做)

光照

透视分割(Perspective Divide):转换到裁剪空间中。  

裁剪(Clipping)

视口映射:变换到屏幕空间。

三角形构造阶段

背面裁剪(也可以在前面的观察空间中的投影变换之前做)。

Slope/Delta Calculations

扫描线转换:Scan-Line Conversion

渲染和光栅化阶段

着色(Shading)

纹理映射(Texturing)

雾化

ALPHA半透明测试

深度缓冲测试

反走样(可选)

显示

以上便是一个完整的3D管线必须具备的东西。。 至于各个处理阶段的顺序,在实际的实现方法上会存在一定的差异。

有兴趣的朋友可以一起来看这本书。 我也会在看完后,写出自己的感受,大家一起交流