绘制流水线——模型表示:顶点格式、三角单元、索引

场景是物体挥着模型的集合,任何的物体我们都可以使用三角网格来逼近的表示,三角网格是构成物体的模型的基本单元。我们通常使用下面的术语来描述网格中的三角形:多边形、图元、网格几何元。

一个多边形中相邻两边的交汇点称之为顶点,描述三角形单元的时候,我们需要指定三角单元的顶点,描述物体的时候,我们应该指定三角单元的列表。

顶点格式

刚才对于顶点的描述是几何学的,但是在Direct3D中,刚才的描述可能不是很完整,因为在Direct3D中,顶点出了位置信息之外可能还包括颜色属性,法线属性等,Direct3D中允许我们自定义各顶点的分量。

struct ColorVertex{
    float  _x,_y,_z;    //位置
    DWORD _clolor;      //颜色
}

struct NormalTexVertex{
    float _x,_y,_z;    //坐标
    float _nx,_ny,_nz;    //法线
    float _u,_v;        //纹理
}

顶点的结构体定义好之后,我们使用“灵活顶点格式”标记的组合来描述顶点的组织结构,以前面两种定义的顶点格式为例:

//该宏定义的含义就是对应该顶点格式顶点结构,包含了位置属性和颜色属性
#define FVF_COLOR (D3DFVF_XYZ | D3DFVF_DIFFUSE)

//该宏定义的含义就是其对应的顶点格式的结构,包含了:位置,法线,纹理属性等信息
#define FVF_NORMAL_TEX (D3DFVF_XTZ | D3DFVF_NORMAL | D3DFVF_TEX1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值