Просмотр исходного кода

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

mrdoob 1 месяц назад
Родитель
Сommit
0fff585961
27 измененных файлов с 2 добавлено и 2 удалено
  1. BIN
      examples/screenshots/webgl_animation_keyframes.jpg
  2. BIN
      examples/screenshots/webgl_loader_gltf_animation_pointer.jpg
  3. BIN
      examples/screenshots/webgl_loader_gltf_compressed.jpg
  4. BIN
      examples/screenshots/webgl_loader_gltf_sheen.jpg
  5. BIN
      examples/screenshots/webgl_loader_gltf_variants.jpg
  6. BIN
      examples/screenshots/webgl_materials_physical_transmission_alpha.jpg
  7. BIN
      examples/screenshots/webgl_pmrem_cubemap.jpg
  8. BIN
      examples/screenshots/webgl_pmrem_equirectangular.jpg
  9. BIN
      examples/screenshots/webgl_pmrem_test.jpg
  10. BIN
      examples/screenshots/webgl_postprocessing_3dlut.jpg
  11. BIN
      examples/screenshots/webgl_postprocessing_material_ao.jpg
  12. BIN
      examples/screenshots/webgl_random_uv.jpg
  13. BIN
      examples/screenshots/webgl_tonemapping.jpg
  14. BIN
      examples/screenshots/webgl_watch.jpg
  15. BIN
      examples/screenshots/webgpu_loader_gltf_sheen.jpg
  16. BIN
      examples/screenshots/webgpu_mrt.jpg
  17. BIN
      examples/screenshots/webgpu_pmrem_cubemap.jpg
  18. BIN
      examples/screenshots/webgpu_pmrem_equirectangular.jpg
  19. BIN
      examples/screenshots/webgpu_pmrem_test.jpg
  20. BIN
      examples/screenshots/webgpu_postprocessing_dof_basic.jpg
  21. BIN
      examples/screenshots/webgpu_postprocessing_sobel.jpg
  22. BIN
      examples/screenshots/webgpu_postprocessing_ssr.jpg
  23. BIN
      examples/screenshots/webgpu_tonemapping.jpg
  24. BIN
      examples/screenshots/webgpu_tsl_procedural_terrain.jpg
  25. BIN
      examples/screenshots/webgpu_video_panorama.jpg
  26. 1 1
      src/extras/PMREMGenerator.js
  27. 1 1
      src/renderers/common/extras/PMREMGenerator.js

BIN
examples/screenshots/webgl_animation_keyframes.jpg


BIN
examples/screenshots/webgl_loader_gltf_animation_pointer.jpg


BIN
examples/screenshots/webgl_loader_gltf_compressed.jpg


BIN
examples/screenshots/webgl_loader_gltf_sheen.jpg


BIN
examples/screenshots/webgl_loader_gltf_variants.jpg


BIN
examples/screenshots/webgl_materials_physical_transmission_alpha.jpg


BIN
examples/screenshots/webgl_pmrem_cubemap.jpg


BIN
examples/screenshots/webgl_pmrem_equirectangular.jpg


BIN
examples/screenshots/webgl_pmrem_test.jpg


BIN
examples/screenshots/webgl_postprocessing_3dlut.jpg


BIN
examples/screenshots/webgl_postprocessing_material_ao.jpg


BIN
examples/screenshots/webgl_random_uv.jpg


BIN
examples/screenshots/webgl_tonemapping.jpg


BIN
examples/screenshots/webgl_watch.jpg


BIN
examples/screenshots/webgpu_loader_gltf_sheen.jpg


BIN
examples/screenshots/webgpu_mrt.jpg


BIN
examples/screenshots/webgpu_pmrem_cubemap.jpg


BIN
examples/screenshots/webgpu_pmrem_equirectangular.jpg


BIN
examples/screenshots/webgpu_pmrem_test.jpg


BIN
examples/screenshots/webgpu_postprocessing_dof_basic.jpg


BIN
examples/screenshots/webgpu_postprocessing_sobel.jpg


BIN
examples/screenshots/webgpu_postprocessing_ssr.jpg


BIN
examples/screenshots/webgpu_tonemapping.jpg


BIN
examples/screenshots/webgpu_tsl_procedural_terrain.jpg


BIN
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号