-
В ProgressiveMesh (SDK) есть пример.
-
Так белые точки как были, так и остались. Может я что-то не так делаю или ещё что: ... var AdjBuffer : ID3DXBuffer; Epsilons : TD3DXWeldEpsilons; ...
ZeroMemory(@Epsilons, SizeOf(TD3DXWeldEpsilons)); D3DXWeldVertices(SLMeshObj, D3DXWELDEPSILONS_WELDPARTIALMATCHES, @Epsilons, AdjBuffer.GetBufferPointer, AdjBuffer.GetBufferPointer, nil, nil); D3DXValidMesh(SLMeshObj, AdjBuffer.GetBufferPointer, nil); ...
-
> Похоже, из-за кривых мешей, в которых имеются избыточные > вершины.
Тогда получатся, что самолёт (из SDK) тоже кривая мешь, т.к. на тени тоже появляются точки,а в SDK их нет?(((( Что делать?
-
Я для проверки воткнул в CD3DMesh.Create_ после D3DXLoadMeshFromX:
FillChar(eps, SizeOf(eps), 0); eps.Flags := D3DXWELDEPSILONS_WELDALL; Result := D3DXWeldVertices(m_pSysMemMesh, @eps, pAdjacencyBuffer.GetBufferPointer, pAdjacencyBuffer.GetBufferPointer, nil, nil);
Самолёт - тоже кривой, да.
-
Так почему в SDK нет "белых точек"?
-
В некоторых ракурсах есть. Эффект от WeldVertices виден на самолёте и без тени, освещение становится более гладким.
-
Так что посоветуете делать?
-
.
|