Хочу записать карту в mesh, но не могу разобраться с записью данных:
procedure loadMapMesh;
type
PCustomVertex = ^TCustomVertex;
TCustomVertex = packed record
pos: TD3DXVector3;
norm: TD3DXVector3;
tu: Single;
tv: Single;
end;
pBuf: PCustomVertex;
begin
D3DXCreateMeshFVF(1, 3, D3DXMESH_DYNAMIC, D3DFVF_CUSTOMVERTEX, FD3DDevice , mapMesh);
mapMesh.LockVertexBuffer(0, pointer(pBuf));
pBuf^.pos.x:=0;
pBuf^.pos.y:=0;
pBuf^.pos.z:=0;
pBuf^.norm.z:=1;
pBuf^.norm.x:=0;
pBuf^.norm.y:=0;
pBuf^.tu:=0;
pBuf^.tv:=0;
inc(pBuf);
pBuf^.pos.x:=32;
pBuf^.pos.y:=0;
pBuf^.pos.z:=0;
pBuf^.norm.z:=1;
pBuf^.norm.x:=0;
pBuf^.norm.y:=0;
pBuf^.tu:=1;
pBuf^.tv:=0;
inc(pBuf);
pBuf^.pos.x:=0;
pBuf^.pos.y:=32;
pBuf^.pos.z:=0;
pBuf^.norm.z:=1;
pBuf^.norm.x:=0;
pBuf^.norm.y:=0;
pBuf^.tu:=0;
pBuf^.tv:=1;
inc(pBuf);
mapMesh.UnlockVertexBuffer;
...
а дальше вроде как надо индексировать вершины и присвоить подгруппы, но как это сделать? у Фрэнка Луны код не полный, да и синтаксис С я понимаю с трудом...
mapMesh.LockIndexBuffer(0,Pointer(ind));
ind[1]:=1;
ind[2]:=2;
ind[3]:=2;
mapMesh.UnlockIndexBuffer;
Тема в архиве.