From eb3ff06937f59e0f5f934dc55012cdeae78baa65 Mon Sep 17 00:00:00 2001 From: sunag Date: Sat, 6 Jul 2024 07:47:30 -0300 Subject: [PATCH] refactor lighting model indirect --- src/nodes/core/LightingModel.js | 4 +--- src/nodes/functions/BasicLightingModel.js | 2 +- src/nodes/functions/PhongLightingModel.js | 2 +- src/nodes/functions/PhysicalLightingModel.js | 8 ++++++++ src/nodes/functions/ToonLightingModel.js | 2 +- src/nodes/lighting/LightsNode.js | 4 +--- 6 files changed, 13 insertions(+), 9 deletions(-) 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 ); //