I haben folgende Struktur:ein Array von struct dynamisch
struct Vertex {
Vertex(float px, float py, float pz,
float nx, float ny, float nz,
float tx, float ty) : position(px, py, pz),
normals(nx, ny, nz),
texCoords(tx, ty) {}
XMFLOAT3 position;
XMFLOAT3 normals;
XMFLOAT2 texCoords;
};
und ich brauche einen Array aus, dass bei einigen Vektoren zu füllen:
std::vector<XMFLOAT3> positions;
std::vector<XMFLOAT3> normals;
std::vector<XMFLOAT2> texCoords;
Die Länge des Arrays ist gegeben durch
int numVertices;
Ich möchte das Array struct Vertex
mit den angegebenen Vektoren füllen. Wie kann ich das machen? Ich habe versucht, das Array auf diese Weise zu initialisieren:
Vertex points[numVertices];
aber, dass var nicht einen konstanten Wert hat.
Vielen Dank für Ihre Hilfe.
Warum können Sie 'std :: vector' nicht verwenden? –
mpiatek
Danach muss ich 'reinterpret_cast (Punkte)' verwenden, die Arrays und keine Vektoren nimmt. –
Pino
'vector :: data()' verhält sich wie ein Raw-Array (ein Zeiger auf sein erstes Element, um genau zu sein). Sie können es verwenden, um zu 'BYTE *' oder was auch immer zu werfen. –