В настоящее время я работаю над генератором карт на основе сети с помощью Three.js. Я использую один холст, чтобы показать фактическую карту высоты, несколько других для отображения отдельных октав, из которых состоит карта высоты, и еще одна для демонстрации карты высоты в действии, где она применяется непосредственно к плоскости.Сцена три .js не кажется рендерингом после первого прохода
Пока все хорошо. Весь материал также отлично сочетается со всеми предопределенными параметрами (длина волны и т. Д.). Фактическая проблема заключается в том, что полотна не обновляются после первого прохода рендеринга, что делает мою программу совершенно бесполезной, так как цель моей программы заключается в том, чтобы иметь возможность манипулировать несколькими параметрами карты высоты с помощью ползунков и видеть эффекты в реальном время.
К сожалению, единственное полотно, которое вообще обновляется, является «реальной» 3D-сценой с плоской сеткой. Но и здесь это похоже на то, что данные из первого прохода рендеринга никогда не очищались, но по крайней мере кажется, что униформа для параметров шума обновляется правильно - это, очевидно, не относится ко всем другим холстам.
Прежде чем я, наконец, создаю сцену, я всегда устанавливаю поле needsUpdate
материала сетки в true
, но, похоже, это работает только для одного холста, который был инициализирован последним. Я полностью потерялся здесь, а также не смог найти никакой информации об этой проблеме.
Любой код для показа? – ThisIsSparta
Это «базовый класс» для управления всех полотен: https://github.com/heartdisease/HeightMapGenerator/blob/master/js/Canvas3D.js Этого класс Отрисовывает октавы карты высоты: https://github.com/heartdisease/HeightMapGenerator/blob/master/js/HeightMapOctave.js – heartdisease