为什么Direct3D没有它自己的顶点结构?

时间:2010-07-09 03:28:34

标签: c++ c 3d vector direct3d

我一直想知道为什么我们必须始终定义D3DVERTEX的原因。是因为微软希望有机会把它放在一个类和重载运算符中,还是有其他原因?

由于

1 个答案:

答案 0 :(得分:8)

这样您就可以使用任何方便的应用程序。如果你需要法线作为顶点的一部分,你可以拥有它。如果您不需要法线,那么每个顶点可以节省12个字节。如果您需要颜色信息,纹理坐标,镜面反射参数等,那么您可以根据具体需要选择是否定义它们。

如果微软要提供“D3DVERTEX”结构,你要么拥有500个不同的版本,不同的字段组合,要么你有一个巨大的版本包含每个可能的值,从而消耗你的带宽。