diff --git a/src/nodes/core/LightingModel.js b/src/nodes/core/LightingModel.js index 7f5eea838834be..46902ed4027861 100644 --- a/src/nodes/core/LightingModel.js +++ b/src/nodes/core/LightingModel.js @@ -8,9 +8,7 @@ class LightingModel { directRectArea( /*input, stack, builder*/ ) {} - indirectDiffuse( /*input, stack, builder*/ ) { } - - indirectSpecular( /*input, stack, builder*/ ) { } + indirect( /*input, stack, builder*/ ) { } ambientOcclusion( /*input, stack, builder*/ ) { } diff --git a/src/nodes/functions/BasicLightingModel.js b/src/nodes/functions/BasicLightingModel.js index 0d3f6566d48692..2d2f792392d599 100644 --- a/src/nodes/functions/BasicLightingModel.js +++ b/src/nodes/functions/BasicLightingModel.js @@ -12,7 +12,7 @@ class BasicLightingModel extends LightingModel { } - indirectDiffuse( { ambientOcclusion, reflectedLight } ) { + indirect( { ambientOcclusion, reflectedLight } ) { reflectedLight.indirectDiffuse.addAssign( diffuseColor.rgb ); diff --git a/src/nodes/functions/PhongLightingModel.js b/src/nodes/functions/PhongLightingModel.js index 6a573c0413cb08..76fb4f727d0ceb 100644 --- a/src/nodes/functions/PhongLightingModel.js +++ b/src/nodes/functions/PhongLightingModel.js @@ -56,7 +56,7 @@ class PhongLightingModel extends BasicLightingModel { } - indirectDiffuse( { ambientOcclusion, irradiance, reflectedLight } ) { + indirect( { ambientOcclusion, irradiance, reflectedLight } ) { reflectedLight.indirectDiffuse.addAssign( irradiance.mul( BRDF_Lambert( { diffuseColor } ) ) ); diff --git a/src/nodes/functions/PhysicalLightingModel.js b/src/nodes/functions/PhysicalLightingModel.js index c24a9df326345f..e6ea1e82fda869 100644 --- a/src/nodes/functions/PhysicalLightingModel.js +++ b/src/nodes/functions/PhysicalLightingModel.js @@ -507,6 +507,14 @@ class PhysicalLightingModel extends LightingModel { } + indirect( context, stack, builder ) { + + this.indirectDiffuse( context, stack, builder ); + this.indirectSpecular( context, stack, builder ); + this.ambientOcclusion( context, stack, builder ); + + } + indirectDiffuse( { irradiance, reflectedLight } ) { reflectedLight.indirectDiffuse.addAssign( irradiance.mul( BRDF_Lambert( { diffuseColor } ) ) ); diff --git a/src/nodes/functions/ToonLightingModel.js b/src/nodes/functions/ToonLightingModel.js index 007d6d920b0598..2e3b921416b80a 100644 --- a/src/nodes/functions/ToonLightingModel.js +++ b/src/nodes/functions/ToonLightingModel.js @@ -38,7 +38,7 @@ class ToonLightingModel extends LightingModel { } - indirectDiffuse( { ambientOcclusion, irradiance, reflectedLight } ) { + indirect( { ambientOcclusion, irradiance, reflectedLight } ) { reflectedLight.indirectDiffuse.addAssign( irradiance.mul( BRDF_Lambert( { diffuseColor } ) ) ); diff --git a/src/nodes/lighting/LightsNode.js b/src/nodes/lighting/LightsNode.js index 57b058967e8526..e217a2c42a486a 100644 --- a/src/nodes/lighting/LightsNode.js +++ b/src/nodes/lighting/LightsNode.js @@ -99,9 +99,7 @@ class LightsNode extends Node { // - lightingModel.indirectDiffuse( context, stack, builder ); - lightingModel.indirectSpecular( context, stack, builder ); - lightingModel.ambientOcclusion( context, stack, builder ); + lightingModel.indirect( context, stack, builder ); //