三角形、平面法线、顶点法线

在Direct3D中,三角形是构成实体的基本单位,因为一个三角形正好是一个平面,以三角形面为单位进行渲染效率最高。

一个三角形由三个点构成,习惯上把这些点称为顶点(Vertex)。三角形平面有正反面之分,由顶点的排序决定:顶点按顺时针排列的表面是正面,如图。

clip_image001

屏幕剪辑的捕获时间: 2007/6/22, 14:59

其中与三角形平面垂直、且指向正面的矢量称为该平面的法线(Normal)。

在Direct3D中,为提高渲染效率,缺省条件下只有正面可见,不过可以通过IDirect3DDevice9::SetRenderState来改变设置,其对应的渲染状态常数为D3DRS_CULLMODE,具体用法请参阅SDK文档。

顶点法线(Vertex Normal)是过顶点的一个矢量,用于在高洛德着色(Gouraud Shading)中的计算光照和纹理效果。在生成曲面时,通常令顶点法线和相邻平面的法线保持等角,如图1,这样进行渲染时,会在平面接缝处产生一种平滑过渡的效果。如果是多边形,则令顶点法线等于该点所属平面(三角形)的法线,如图2,以便在接缝处产生突出的边缘。

clip_image002

屏幕剪辑的捕获时间: 2007/6/22, 15:17

clip_image003

屏幕剪辑的捕获时间: 2007/6/22, 15:16

posted @ 2007-10-13 17:13  至尊王者  阅读(13214)  评论(1编辑  收藏  举报