Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Порядок прорисовки
#2
В Xtreme3D нет глубины объекта, порядок рендеринга определяется либо порядком создания объектов и их родителей (osInherited), либо встроенным в движок алгоритмом сортировки (osRenderFarthestFirst, osRenderNearestFirst, osRenderBlendedLast). В данном случае прозрачные объекты типа воды надо создавать после непрозрачных. Например, можно создать им глобального родителя, который идет после scene:

Код:
[== Неизвестный ==]
global.back = DummycubeCreate(0);
global.scene = DummycubeCreate(0);
global.transparent = DummycubeCreate(0);
global.front = DummycubeCreate(0);

Либо можно включить встроенную сортировку с учетом прозрачности: EngineSetObjectsSorting(osRenderBlendedLast), получится примерно то же самое, но видимо будет небольшая доп. нагрузка на проц (хотя я точно не измерял, насколько это существенно).

Другой, более хардкорный способ: рендерить функцией ViewerRenderEx вместо обычной ViewerRender, задавая явным образом порядок. В некоторых ситуациях очень удобно.
Ответ


Сообщения в этой теме

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)