float *v;
pt->LockVertexBuffer(0,(void**)&v);
DWORD *v2;
pt->LockIndexBuffer(0,(void**)&v2);
for(int j=0;j<=1000;j+=3)
{
v[v2[j]]+=100;
}
pt->UnlockIndexBuffer();
pt->UnlockVertexBuffer();
directX IndexBuffer
я знаю что вершин не больше чем 2000,
но в результате числа массива индексов больше десяти тыс.
смысл проги в том чтоб передвинуть каждую вершину только по оси z.
Организовать нужно именно так т. к. в дальнейшем манипуляция будет сложнее.
Код:
Зачем гонять данные между видяхой и оперативой, когда можно просто использовать матрицу трансформации?
Я хочу проверить их на столкновение,и нечего умнее кроме вытащить вершины я не придумал.
Как это можно организовать по другому ?
Да, тебе нужны треугольники меша. Как вариант, выкинь файлы *.x, всё равно это deprecated в dx10+, заодно будет возможность хранить копии/кэши буферов в памяти чтобы не качать данные из видяхи каждый раз.