ciao.
Sto sviluppando un applicazione in directx .
mi trovo davanti al seguente problema:
ho creato una classe CBaseMesh che ha come variabile membro un vertexbuffer , il vertexbuffer non è altro che una collezione di vertici.
Posso avere nCBaseMesh ma , ognuna di queste puo' avere il suo vertexbuffer di vertici.
ogni vertice è definito con una struttura che puo essere di tipo differente ad es:
e il vertexbuffer potra' esserecodice:Struct Vertex1 { D3DXVECTOR4 Pos; D3DXVECTOR3 Norm; D3DXVECTOR2 Tex; } //o... Struct Vertex2 { D3DXVECTOR4 Pos; D3DXVECTOR3 Norm; } //o... Struct Vertex3 { D3DXVECTOR4 Pos; }
Vertex1 VertexBuffer [];
o
Vertex2 VertexBuffer[];
o
Vertex3 VertexBuffer[];
dove
VertexBuffer è la variabile(array di vertex) e Vertex1, Vertex2, Vertex3 sono tre strutture o classi di tipo diverso
ora:è possibile definire una cMeshBase con il suo Vertexbuffer di tipo differente in risposta a parametri runtime differenti utilizzando i template?
pero' il tipo CMeshBase non deve cambiare , potra' essere CMeshBase<Vertex1> o
CMeshBase <Vertex2> o CMeshBase<Vertex3> ma sempre del tipo CMeshBase.
grazie.