Мерцание анимации WebGL, объект слишком большой?

Я создал анимацию webgl, используя библиотеку scenejs (запустите ее, нажав кнопку в левом нижнем углу, обратите внимание, что она также воспроизводит музыку, которую в настоящее время нельзя отключить).

Проблема, с которой я сталкиваюсь, заключается в том, что пол / плоскость в середине начинает мигать и продолжает мерцать / мигать во время анимации. Только ближе к самому концу мерцание опускается и к концу полностью прекращается (когда самолет вот-вот закончится).

Если я уменьшу размер самолета до 10% от его размера (с ~26000 до ~2600), он не будет мерцать вообще.

Я пытался настроить масштаб текстуры, не имеет никакого эффекта. Понижение fps, похоже, тоже не дало эффекта. Есть ли у WebGL проблемы с рендерингом больших объектов? Есть ли работа вокруг этого?

Вероятно, это может сделать самолет статичным и иметь движущуюся текстуру, но это, безусловно, сделает намного больше вещей более хитрыми, особенно, когда к нему добавляется больше элементов.

Настройка requestAnimationFrame не имел никакого эффекта, и не сделал удаление видео вспышки. Единственный раз, когда он работает нормально, это когда самолет значительно меньше или когда он подходит к концу.

1 ответ

Сцена выглядит хорошо для меня - что происходит, когда вы удаляете Flash?

PS. Поделитесь этим на jsFiddle, если вам нравится... http://jsfiddle.net/

Кроме того, что происходит, когда вы используете опцию requestAnimationFrame для цикла рендеринга?

Пример здесь: http://scenejs.wikispaces.com/scene

Другие вопросы по тегам