У меня есть флеш-приложение, в котором два 3d-представления используют один и тот же Stage3DProxy, потому что мне нужно, чтобы он был наложен/нарисован поверх другого. Однако они, похоже, используют одно и то же пространство/z-buffer (?).Away3D Stage3DProxy порядок рисования
Моя функция обновления в настоящее время выглядит следующим образом:
private function onEnterFrame(event : Event) : void {
stage3DProxy.clear();
away3DView.render();
away3DView2.render();
stage3DProxy.present();
}
Ясно, что это не достаточно само по себе - я где-то читал, что setDepthTest метод может быть использован, например:
stage3DProxy.context3D.setDepthTest(false, Context3DCompareMode.NEVER);
.. , установив его в разные режимы между вызовами каждого вида render()
, но я не совсем понимаю, как это работает, а документация очень тонкая на земле. Я играл, настраивая его на разные вещи между вызовами визуализации, но без радости.
Единственные примеры, которые я могу найти для настройки Stage3DProxy, используют один вид Away3D и два скворца - это не то, что мне нужно. Я прочитал на своих форумах комментарий, в котором говорится, что вам нужно указать определенные настройки setDepthTest в «8 других местах», но не уточняет, где они находятся или что им нужно настроить, и это звучит как хак для то, что должно быть довольно простым!
Если бы кто-нибудь мог помочь, я был бы очень благодарен, или если кто-то знает другой способ сделать это - заставить определенный порядок рисования кажется, что это должна быть относительно тривиальная задача, но я не могу найти ничего полезного в этом, я хотят придерживаться Away3D, так как это хороший хороший API и набор функций, но это настоящее препятствие для моего текущего проекта!
Заранее спасибо
Вы так любезны поделиться всем исходным кодом? – 62316e
Это не моя доля, я могу добавить пример ответа позже, если вы захотите – MickMalone1983