PMREMGenerator - Руководство по Вердж3Д - Софт Эйт Софт
Description: Узнайте как использовать PMREMGenerator в интерактивных 3Д-веб-приложениях сделанных на Вердж3Д

# PMREMGenerator

Этот класс генерирует текстуру PMREM (Prefiltered, Mipmapped Radiance Environment Map) из кубической текстуры окружения. Она позволяет получить доступ к различным уровням размытия в зависимости от шероховатости материала. В отличие от традиционных мипмапов, данная текстура опускается только до уровня LOD_MIN (выше), а затем создает дополнительные, еще более отфильтрованные "мипы" с тем же разрешением LOD_MIN, но связанные с более высокими уровнями шероховатости. Таким образом, сохраняется разрешение для плавной интерполяции диффузного освещения, ограничивая при этом вычисления семплов.

## Конструктор

### PMREMGenerator(renderer : WebGLRenderer, maxTileSize : Integer)

Этот конструктор создает новый PMREMGenerator. `maxTileSize` задаёт максимальный размер ячейки PMREM-текстуры. По умолчанию `256`.

## Методы

### # .fromScene(scene : Scene, sigma : Float, near : Float, far : Float) → WebGLRenderTarget

- scene — заданная сцена.
- sigma — (необ.) задает радиус размытия в радианах, который будет применен к сцене перед генерацией PMREM. По умолчанию `0`.
- near — (необ.) значение ближней плоскости. По умолчанию `0.1`.
- far — (необ.) значение дальней плоскости. По умолчанию `100`.

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

### # .fromEquirectangular(equirectangular : Texture) → WebGLRenderTarget

equirectangular — равноугольная текстура.

Генерирует PMREM из равноугольной текстуры.

### # .fromCubemap(cubemap : CubeTexture) → WebGLRenderTarget

cubemap — кубическая текстура.

Генерирует PMREM из кубической текстуры.

### # .compileCubemapShader()

Выполняет предварительную компиляцию шейдера cubemap. Вы можете ускорить запуск приложения, вызвав этот метод во время загрузки текстур.

### # .compileEquirectangularShader()

Выполняет предварительную компиляцию шейдера equirectangular. Вы можете ускорить запуск приложения, вызвав этот метод во время загрузки текстур.

### # .dispose()

Освобождает все связанные с GPU ресурсы, используемые экземпляром PMREMGenerator. Этот метод следует вызвать, если этот экзепляр больше не используется в приложении.

## Исходный файл

О том как получить исходный код этого модуля читайте тут.