Direct3D では、好きなタイプの頂点を作成できます。位置情報だけの単純な Vertex を持つことも、色情報、テクスチャ情報などを追加することもできます。入力レイアウトを作成するときは、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 つの場合の欠点は何ですか?