PMREMGenerator.html 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="page.js"></script>
  7. <link type="text/css" rel="stylesheet" href="page.css" />
  8. </head>
  9. <body>
  10. <h1>[name]</h1>
  11. <p class="desc">
  12. 此类从立方体贴图环境纹理生成经过预过滤的Mipmapped辐射环境贴图(PMREM)。
  13. 这允许根据材料粗糙度快速访问不同级别的模糊。
  14. 它被打包成一种特殊的CubeUV格式,允许我们执行自定义插值,以便我们可以支持RGBE等非线性格式。
  15. 与传统的mipmap链不同,它只下降到LOD_MIN级别(上图),然后以相同的 LOD_MIN 分辨率创建额外的甚至更多的过滤“mips”,并与更高的粗糙度级别相关联。
  16. 通过这种方式,我们保持分辨率以平滑地插入漫射照明,同时限制采样计算。
  17. </p>
  18. <h2>构造器(Constructor)</h2>
  19. <h3>[name]( [param:WebGLRenderer renderer] )</h3>
  20. <p>
  21. 此构造函数创建一个新的[name]。
  22. </p>
  23. <h2>方法(Methods)</h2>
  24. <h3>[method:WebGLRenderTarget fromScene]( [param:Scene scene], [param:Number sigma], [param:Number near], [param:Number far] )</h3>
  25. <p>
  26. [page:Scene scene] - 给定的场景<br>
  27. [page:Number sigma] - (可选)指定在PMREM生成之前应用于场景的以弧度为单位的模糊半径。默认为0。<br>
  28. [page:Number near] - (可选)近平面值,默认值为0.1。<br>
  29. [page:Number far] - (可选)远平面值。默认值为100。<br /><br />
  30. 从提供的场景生成PMREM,如果网络带宽较低,这可能比使用图像更快。可选的近平面和远平面确保场景被完整渲染(cubeCamera放置在原点)。
  31. </p>
  32. <h3>[method:WebGLRenderTarget fromEquirectangular]( [param:Texture equirectangular] )</h3>
  33. <p>
  34. [page:Texture equirectangular] - equirectangular纹理。<br /><br />
  35. 从等距柱状纹理生成PMREM,可以是LDR或HDR。理想的输入图像大小为1k(1024x512),因为这与256x256立方体贴图输出最匹配。
  36. </p>
  37. <h3>[method:WebGLRenderTarget fromCubemap]( [param:CubeTexture cubemap] )</h3>
  38. <p>
  39. [page:CubeTexture cubemap] - 立方体贴图纹理。<br /><br />
  40. 从立方体贴图纹理生成PMREM,可以是LDR或HDR。理想的输入立方体大小为256x256,因为这与 256x256立方体贴图输出最匹配。
  41. </p>
  42. <h3>[method:undefined compileCubemapShader]()</h3>
  43. <p>
  44. 预编译立方体贴图着色器。您可以通过在纹理的网络获取期间调用此方法来提高并发性,从而加快启动速度。
  45. </p>
  46. <h3>[method:undefined compileEquirectangularShader]()</h3>
  47. <p>
  48. 预编译等距柱状着色器。您可以通过在纹理的网络获取期间调用此方法来提高并发性,从而加快启动速度。
  49. </p>
  50. <h3>[method:undefined dispose]()</h3>
  51. <p>
  52. 处理PMREMGenerator的内部存储器。
  53. 请注意,PMREMGenerator是一个静态类,因此您不需要多个PMREMGenerator对象。
  54. 如果这样做,对其中之一调用dispose()将导致任何其他对象也变得不可用。
  55. </p>
  56. <h2>源代码(Source)</h2>
  57. <p>
  58. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  59. </p>
  60. </body>
  61. </html>