PMREMGenerator - Verge3D 用户手册 - Soft8Soft
Description: 了解如何在使用 Verge3D 制作的交互式 3D 应用程序中使用 PMREMGenerator

# PMREMGenerator

这个类从一个cubeMap环境纹理生成一个Prefiltered, Mipmapped Radiance Environment Map (PMREM)。这允许基于材质粗糙度快速访问不同级别的模糊。它被打包成一个特殊的CubeUV格式，允许我们执行自定义插值，这样我们就可以支持非线性格式，如RGBE。与传统的mipmap链不同，它只下降到LOD_MIN级别(以上)，然后在相同的LOD_MIN分辨率下创建额外的甚至经过更多过滤的“mips”，与更高的粗糙度级别相关联。通过这种方式，我们可以在限制采样计算的同时保持平滑的漫射照明的分辨率。

## 构造函数

### PMREMGenerator(renderer : WebGLRenderer)

创建新 PMREMGenerator 的构造函数。

## 方法

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

scene — 给定场景。
sigma — (可选) 指定要在生成PMREM之前应用于场景的模糊半径（以弧度为单位）。 默认为 0。
near — (可选) 近平面值。 默认为 *0。1*。
far — (可选) 远平面值。 默认为 100。
从提供的场景生成 PMREM，如果网络带宽较低，这可能比使用图像更快。可选的近平面和远平面确保场景整体渲染（cubeCamera 位于原点）。

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

equirectangular — 等距柱状纹理。
从等距柱状纹理生成 PMREM，可以是 LDR (RGBFormat) 或 HDR (RGBEFormat)。理想的输入图像大小为 1k (1024 x 512)，因为这与 256 x 256 立方体贴图输出最匹配。

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

cubemap — 立方体贴图纹理。
从立方体贴图纹理生成 PMREM，可以是 LDR (RGBFormat) 或 HDR (RGBEFormat)。理想的输入立方体大小为 256 x 256，因为这与 256 x 256 立方体贴图输出最匹配。

### # .compileCubemapShader() → void

预编译立方体贴图着色器。您可以通过在纹理的网络获取期间调用此方法来加快启动速度，以提高并发性。

### # .compileEquirectangularShader() → void

预编译等距柱状贴图着色器。您可以通过在纹理的网络获取期间调用此方法来加快启动速度，以提高并发性。

### # .dispose() → void

处置 PMREMGenerator 的内部存储器。请注意，PMREMGenerator 是一个静态类，因此您不应需要多个 PMREMGenerator 对象。如果这样做，对其中一个调用 dispose() 将导致其他任何一个也无法使用。

## 源代码

关于如何获取此模块的源代码，请查看 本页。