Этот класс генерирует предварительно отфильтрованную, Mipmapped Radiance Environment Map (PMREM) из текстуры окружения cubeMap. Это позволяет быстро получить доступ к различным уровням размытия в зависимости от шероховатости материала. Она упакована в специальный формат CubeUV, который позволяет нам выполнять пользовательскую интерполяцию, чтобы мы могли поддерживать нелинейные форматы, такие как RGBE. В отличие от традиционной цепочки мипмапов, она опускается только до уровня LOD_MIN (выше), а затем создает дополнительные, еще более отфильтрованные "мипы" с тем же разрешением LOD_MIN, связанные с более высокими уровнями шероховатости. Таким образом, мы сохраняем разрешение для плавной интерполяции диффузного освещения, ограничивая при этом вычисления семплов.
Этот конструктор создает новый PMREMGenerator.
scene — Заданная сцена.
sigma — (опционально) Задает радиус размытия в радианах, который будет применен к сцене перед генерацией PMREM. По умолчанию 0.
near — (опционально) Значение ближней плоскости. По умолчанию 0,1.
far — (опционально) Значение дальней плоскости. По умолчанию 100.
Генерирует PMREM из предоставленной сцены, что может быть быстрее, чем использование изображения, если пропускная способность сети низкая.
Дополнительные ближняя и дальняя плоскости обеспечивают рендеринг сцены целиком (камера cubeCamera помещается в начало координат).
equirectangular — Равноугольная текстура.
Генерирует PMREM из равноугольной текстуры, которая может быть LDR (RGBFormat) или HDR (RGBEFormat).
Идеальный размер входного изображения - 1k (1024 x 512), так как он лучше всего соответствует кубической карте 256 x 256 на выходе.
cubemap — Текстура cubemap.
Генерирует PMREM из текстуры cubemap, которая может быть LDR (RGBFormat) или HDR (RGBEFormat).
Идеальный размер входного куба - 256 x 256, так как он лучше всего соответствует кубу 256 x 256 на выходе.
Предварительно компилирует шейдер cubemap. Вы можете ускорить запуск, вызывая этот метод во время сетевой выборки текстуры для увеличения синхронности.
Предварительно компилирует равноугольный шейдер. Вы можете ускорить запуск, вызывая этот метод во время сетевой выборки текстуры для увеличения синхронности.
Удаляет внутреннюю память PMREMGenerator. Обратите внимание, что PMREMGenerator является статическим классом, поэтому вам не должно понадобиться более одного PMREMGenerator. В противном случае вызов dispose() для одного из них приведет к тому, что все остальные также станут непригодными для использования.
О том как получить исходный код этого модуля читайте тут.