Frage

Ich erhalte den Fehler im Titel im folgenden Code:

  std::vector<short> GetIndicesFromID3DXMesh(ID3DXMesh* model)
{
    //LPVOID * ppData;
    DWORD stride = sizeof(short);
    BYTE* ibptr = NULL;

    short* indices = new short[model->GetNumFaces() * 3];

    std::vector<short> copy;

    model->LockIndexBuffer(0, (LPVOID*)&indices);

    for(size_t i = 0; i < model->GetNumFaces() * 3; i++)
    {
        copy.push_back(indices[i]);
    }

    model->UnlockIndexBuffer();

    delete []indices;
    return copy;
}

In der Zeile löschen [] Indizes

Ich weiß nicht, warum ich es, ich weiß nicht, wie ich es bekommen, kann ich es nicht bekommen?

War es hilfreich?

Lösung

Sie den Raum für Ihren Indizes nicht zuordnen. DirectX funktioniert die Zuteilung und dann befreit es, wenn Sie Unlock nennen.

short* indices = NULL;
model->LockIndexBuffer(0, (LPVOID*)&indices);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top