【发布时间】:2010-10-07 09:45:07
【问题描述】:
在 Direct3D 中,您可以创建您喜欢的任何类型的顶点。你可以有一个只有位置信息的简单顶点,或者你可以添加颜色信息、纹理信息等。 创建输入布局时,您可以定义您已实现的 Vertex 的哪些部分:
D3D10_INPUT_ELEMENT_DESC layout[] =
{
{ "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },
{ "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D10_APPEND_ALIGNED_ELEMENT, D3D10_INPUT_PER_VERTEX_DATA, 0 },
};
我的问题是,我是否应该用所有输入类型(位置、颜色、纹理等)定义一个顶点结构。或者我应该创建几个顶点结构,每个都有不同类型的输入。
使用多个类的缺点是您必须创建和维护多个类,并且知道要使用哪种类型的顶点可能会令人困惑。 1个顶点结构的缺点是什么?
【问题讨论】:
标签: c++ windows performance vertices direct3d10