@@ -25,6 +25,7 @@ const params = {
2525 metalness : 0.8 ,
2626 ior : 1.495 ,
2727 transmission : 0.0 ,
28+ thinFilm : false ,
2829 attenuationColor : '#ffffff' ,
2930 attenuationDistance : 0.5 ,
3031 opacity : 1.0 ,
@@ -47,6 +48,7 @@ const params = {
4748 roughness : 0.9 ,
4849 metalness : 0.1 ,
4950 transmission : 0.0 ,
51+ thinFilm : false ,
5052 attenuationColor : '#ffffff' ,
5153 attenuationDistance : 0.5 ,
5254 ior : 1.495 ,
@@ -433,6 +435,7 @@ async function init() {
433435 matFolder1 . add ( params . material1 , 'metalness' , 0 , 1 ) . onChange ( reset ) ;
434436 matFolder1 . add ( params . material1 , 'opacity' , 0 , 1 ) . onChange ( reset ) ;
435437 matFolder1 . add ( params . material1 , 'transmission' , 0 , 1 ) . onChange ( reset ) ;
438+ matFolder1 . add ( params . material1 , 'thinFilm' , 0 , 1 ) . onChange ( reset ) ;
436439 matFolder1 . add ( params . material1 , 'attenuationDistance' , 0.05 , 2.0 ) . onChange ( reset ) ;
437440 matFolder1 . addColor ( params . material1 , 'attenuationColor' ) . onChange ( reset ) ;
438441 matFolder1 . add ( params . material1 , 'ior' , 0.9 , 3.0 ) . onChange ( reset ) ;
@@ -457,6 +460,7 @@ async function init() {
457460 matFolder2 . add ( params . material2 , 'metalness' , 0 , 1 ) . onChange ( reset ) ;
458461 matFolder2 . add ( params . material2 , 'opacity' , 0 , 1 ) . onChange ( reset ) ;
459462 matFolder2 . add ( params . material2 , 'transmission' , 0 , 1 ) . onChange ( reset ) ;
463+ matFolder1 . add ( params . material2 , 'thinFilm' , 0 , 1 ) . onChange ( reset ) ;
460464 matFolder2 . add ( params . material2 , 'attenuationDistance' , 0.05 , 2.0 ) . onChange ( reset ) ;
461465 matFolder2 . addColor ( params . material2 , 'attenuationColor' ) . onChange ( reset ) ;
462466 matFolder2 . add ( params . material2 , 'ior' , 0.9 , 3.0 ) . onChange ( reset ) ;
@@ -578,7 +582,7 @@ function animate() {
578582 m1 . metalness = params . material1 . metalness ;
579583 m1 . roughness = params . material1 . roughness ;
580584 m1 . transmission = params . material1 . transmission ;
581- m1 . attenuationDistance = params . material1 . attenuationDistance ;
585+ m1 . attenuationDistance = params . material1 . thinFilm ? Infinity : params . material1 . attenuationDistance ;
582586 m1 . attenuationColor . set ( params . material1 . attenuationColor ) ;
583587 m1 . ior = params . material1 . ior ;
584588 m1 . opacity = params . material1 . opacity ;
@@ -600,7 +604,7 @@ function animate() {
600604 m2 . metalness = params . material2 . metalness ;
601605 m2 . roughness = params . material2 . roughness ;
602606 m2 . transmission = params . material2 . transmission ;
603- m2 . attenuationDistance = params . material2 . attenuationDistance ;
607+ m2 . attenuationDistance = params . material2 . thinFilm ? Infinity : params . material2 . attenuationDistance ;
604608 m2 . attenuationColor . set ( params . material2 . attenuationColor ) ;
605609 m2 . ior = params . material2 . ior ;
606610 m2 . opacity = params . material2 . opacity ;
0 commit comments