个人技术分享

之前D3D画三角形的代码中有这一句,

    device.VertexFormat = CustomVertex.TransformedColored.Format;

这是设置顶点格式;

画出的三角形如下,

顶点格式是描述一个三维模型的顶点信息的格式;可以包含以下内容,
    位置坐标,顶点的三维坐标;
    法向量;
    颜色,顶点的颜色信息;
    纹理坐标,顶点在纹理贴图上的坐标;

在d3d9中,顶点格式是通过定义一个结构体来实现的。这个结构体包含了所有需要描述的顶点属性。一般情况下,顶点格式至少包含位置属性。 struct Vertex { ......};

下面改成不同的顶点格式看一下;

改了下面几个,

     device.VertexFormat = CustomVertex.PositionColored.Format;
     device.VertexFormat = CustomVertex.PositionNormal.Format;
     device.VertexFormat = CustomVertex.PositionNormalColored.Format;

出来的都是空窗口,

 

device.VertexFormat = CustomVertex.Transformed.Format; 这个没有颜色,

 

device.VertexFormat = CustomVertex.TransformedColoredTextured.Format;

    这个和第一个一样的,目前没有纹理;

如果出现下图错误,

 

从net程序集中添加下面红线提示的这个,