Конференция "Игры" » Вопрос по теням (из Example DirectX8/StencilBuffer/ShadowVolume) [Delphi, DirectX 9]
 
  • Sapersky (13.06.07 18:38) [40]
    В ProgressiveMesh (SDK) есть пример.
  • ElectriC © (13.06.07 21:19) [41]
    Так белые точки как были, так и остались.
    Может я что-то не так делаю или ещё что:
    ...
    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);
    ...
  • ElectriC © (14.06.07 16:09) [42]

    > Похоже, из-за кривых мешей, в которых имеются избыточные
    > вершины.

    Тогда получатся, что самолёт (из SDK) тоже кривая мешь, т.к. на тени тоже
    появляются точки,а в SDK их нет?((((
    Что делать?
  • Sapersky (15.06.07 14:47) [43]
    Я для проверки воткнул в CD3DMesh.Create_ после D3DXLoadMeshFromX:

    FillChar(eps, SizeOf(eps), 0);
    eps.Flags := D3DXWELDEPSILONS_WELDALL;
    Result := D3DXWeldVertices(m_pSysMemMesh, @eps,
               pAdjacencyBuffer.GetBufferPointer,
               pAdjacencyBuffer.GetBufferPointer, nil, nil);

    Самолёт - тоже кривой, да.
  • ElectriC © (15.06.07 15:18) [44]
    Так почему в SDK нет "белых точек"?
  • Sapersky (15.06.07 15:36) [45]
    В некоторых ракурсах есть.
    Эффект от WeldVertices виден на самолёте и без тени, освещение  становится более гладким.
  • ElectriC © (15.06.07 18:50) [46]
    Так что посоветуете делать?
  • ElectriC © (23.06.07 15:18) [47]
    .
 
Конференция "Игры" » Вопрос по теням (из Example DirectX8/StencilBuffer/ShadowVolume) [Delphi, DirectX 9]
Есть новые Нет новых   [134430   +4][b:0][p:0]