Jelajahi Sumber

PMREMGenerator: Improve GGX VNDF accuracy and match Blender roughness (#32311)

mrdoob 4 bulan lalu
induk
melakukan
0fff585961
27 mengubah file dengan 2 tambahan dan 2 penghapusan
  1. TEMPAT SAMPAH
      examples/screenshots/webgl_animation_keyframes.jpg
  2. TEMPAT SAMPAH
      examples/screenshots/webgl_loader_gltf_animation_pointer.jpg
  3. TEMPAT SAMPAH
      examples/screenshots/webgl_loader_gltf_compressed.jpg
  4. TEMPAT SAMPAH
      examples/screenshots/webgl_loader_gltf_sheen.jpg
  5. TEMPAT SAMPAH
      examples/screenshots/webgl_loader_gltf_variants.jpg
  6. TEMPAT SAMPAH
      examples/screenshots/webgl_materials_physical_transmission_alpha.jpg
  7. TEMPAT SAMPAH
      examples/screenshots/webgl_pmrem_cubemap.jpg
  8. TEMPAT SAMPAH
      examples/screenshots/webgl_pmrem_equirectangular.jpg
  9. TEMPAT SAMPAH
      examples/screenshots/webgl_pmrem_test.jpg
  10. TEMPAT SAMPAH
      examples/screenshots/webgl_postprocessing_3dlut.jpg
  11. TEMPAT SAMPAH
      examples/screenshots/webgl_postprocessing_material_ao.jpg
  12. TEMPAT SAMPAH
      examples/screenshots/webgl_random_uv.jpg
  13. TEMPAT SAMPAH
      examples/screenshots/webgl_tonemapping.jpg
  14. TEMPAT SAMPAH
      examples/screenshots/webgl_watch.jpg
  15. TEMPAT SAMPAH
      examples/screenshots/webgpu_loader_gltf_sheen.jpg
  16. TEMPAT SAMPAH
      examples/screenshots/webgpu_mrt.jpg
  17. TEMPAT SAMPAH
      examples/screenshots/webgpu_pmrem_cubemap.jpg
  18. TEMPAT SAMPAH
      examples/screenshots/webgpu_pmrem_equirectangular.jpg
  19. TEMPAT SAMPAH
      examples/screenshots/webgpu_pmrem_test.jpg
  20. TEMPAT SAMPAH
      examples/screenshots/webgpu_postprocessing_dof_basic.jpg
  21. TEMPAT SAMPAH
      examples/screenshots/webgpu_postprocessing_sobel.jpg
  22. TEMPAT SAMPAH
      examples/screenshots/webgpu_postprocessing_ssr.jpg
  23. TEMPAT SAMPAH
      examples/screenshots/webgpu_tonemapping.jpg
  24. TEMPAT SAMPAH
      examples/screenshots/webgpu_tsl_procedural_terrain.jpg
  25. TEMPAT SAMPAH
      examples/screenshots/webgpu_video_panorama.jpg
  26. 1 1
      src/extras/PMREMGenerator.js
  27. 1 1
      src/renderers/common/extras/PMREMGenerator.js

TEMPAT SAMPAH
examples/screenshots/webgl_animation_keyframes.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_loader_gltf_animation_pointer.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_loader_gltf_compressed.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_loader_gltf_sheen.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_loader_gltf_variants.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_materials_physical_transmission_alpha.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_pmrem_cubemap.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_pmrem_equirectangular.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_pmrem_test.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_postprocessing_3dlut.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_postprocessing_material_ao.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_random_uv.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_tonemapping.jpg


TEMPAT SAMPAH
examples/screenshots/webgl_watch.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_loader_gltf_sheen.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_mrt.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_pmrem_cubemap.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_pmrem_equirectangular.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_pmrem_test.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_postprocessing_dof_basic.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_postprocessing_sobel.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_postprocessing_ssr.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_tonemapping.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_tsl_procedural_terrain.jpg


TEMPAT SAMPAH
examples/screenshots/webgpu_video_panorama.jpg


+ 1 - 1
src/extras/PMREMGenerator.js

@@ -532,7 +532,7 @@ class PMREMGenerator {
 		const incrementalRoughness = Math.sqrt( targetRoughness * targetRoughness - sourceRoughness * sourceRoughness );
 
 		// Apply blur strength mapping for better quality across the roughness range
-		const blurStrength = 0.05 + targetRoughness * 0.95;
+		const blurStrength = 0.0 + targetRoughness * 1.25;
 		const adjustedRoughness = incrementalRoughness * blurStrength;
 
 		// Calculate viewport position based on output LOD level

+ 1 - 1
src/renderers/common/extras/PMREMGenerator.js

@@ -663,7 +663,7 @@ class PMREMGenerator {
 		const incrementalRoughness = Math.sqrt( targetRoughness * targetRoughness - sourceRoughness * sourceRoughness );
 
 		// Apply blur strength mapping for better quality across the roughness range
-		const blurStrength = 0.05 + targetRoughness * 0.95;
+		const blurStrength = 0.0 + targetRoughness * 1.25;
 		const adjustedRoughness = incrementalRoughness * blurStrength;
 
 		// Calculate viewport position based on output LOD level

粤ICP备19079148号