- 21
- 0
- 约2.26万字
- 约 7页
- 2017-01-31 发布于河南
- 举报
用DiretX构建3D引擎需要了解的概念
1. 顶点格式
DirectX SDK中使用D3DFVF可变顶点格式来定义顶点数据,所需要提供的顶点数据有很多,下面列出一些常用的:顶点坐标、顶点法向量、顶点着色的RGBA值、该顶点对应贴图的二维坐标UV值。
2. 顶点索引
由顶点生成面是通过构成三角形来绘制的。每个三角形含有3个顶点数据,这三个顶点数据可以连续写入,但是更常见的做法是创建顶点缓冲区,用顶点索引值来读取顶点数据。
3. 关于渲染(rendering)
D3D的具体渲染过程请参见教程或查询有关书籍。我这里只是概要地介绍一下容易混淆的概念。首先,灯光的值是赋给设备的,D3D中所有的方法都封装在IDirect3D的超类中的,其中所有关于渲染的方法都封装在IDirect3DDevice子类中。渲染分成多个渲染管道(pass)来完成,每个管道完成一种材质的匹配。因此在设计渲染过程的时候要注意,除了合理设计顶点和三角面格式外,还要注意如何处理一个角色的不同材质的各部分的渲染顺序,以及在适当的时候打开Z缓冲(z-buffer),或者采用画家算法。
4. D3D的三种坐标系
不要误会,这里说的三种坐标系和计算机图形学上面的世界坐标系(world)、本地坐标系(local)、万向节坐标系(gimbal)等不同。使用D3D渲染时,你根本不用处理这些底层的东西。D3D中需要了解的坐标系只有3个:世界(D3DTS_WORLD)、视(D3
原创力文档

文档评论(0)