From 576a13d9458713a2570fe9bb079ca6b45684a10d Mon Sep 17 00:00:00 2001 From: Don McCurdy Date: Mon, 17 Apr 2023 16:40:20 -0400 Subject: [PATCH 1/2] MeshPhongMaterial: Update default specular value under color management. --- src/materials/MeshPhongMaterial.js | 7 +++++-- src/renderers/shaders/ShaderLib.js | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/materials/MeshPhongMaterial.js b/src/materials/MeshPhongMaterial.js index 6dfe9e46c27c0d..7dc74609025d92 100644 --- a/src/materials/MeshPhongMaterial.js +++ b/src/materials/MeshPhongMaterial.js @@ -1,4 +1,4 @@ -import { MultiplyOperation, TangentSpaceNormalMap } from '../constants.js'; +import { LinearSRGBColorSpace, MultiplyOperation, TangentSpaceNormalMap } from '../constants.js'; import { Material } from './Material.js'; import { Vector2 } from '../math/Vector2.js'; import { Color } from '../math/Color.js'; @@ -14,7 +14,10 @@ class MeshPhongMaterial extends Material { this.type = 'MeshPhongMaterial'; this.color = new Color( 0xffffff ); // diffuse - this.specular = new Color( 0x111111 ); + + // Preserve original hexadecimal value if ColorManagement is disabled. + this.specular = new Color().setHex( 0x111111, LinearSRGBColorSpace ); + this.shininess = 30; this.map = null; diff --git a/src/renderers/shaders/ShaderLib.js b/src/renderers/shaders/ShaderLib.js index f33fd0ada6be09..2922ee0ab25be6 100644 --- a/src/renderers/shaders/ShaderLib.js +++ b/src/renderers/shaders/ShaderLib.js @@ -5,6 +5,7 @@ import { Vector3 } from '../../math/Vector3.js'; import { UniformsLib } from './UniformsLib.js'; import { Color } from '../../math/Color.js'; import { Matrix3 } from '../../math/Matrix3.js'; +import { LinearSRGBColorSpace } from '../../constants.js'; const ShaderLib = { @@ -64,7 +65,8 @@ const ShaderLib = { UniformsLib.lights, { emissive: { value: /*@__PURE__*/ new Color( 0x000000 ) }, - specular: { value: /*@__PURE__*/ new Color( 0x111111 ) }, + // Preserve original hexadecimal value if ColorManagement is disabled. + specular: { value: /*@__PURE__*/ new Color().setHex( 0x111111, LinearSRGBColorSpace ) }, shininess: { value: 30 } } ] ), From 765ae0d6937e6a1e5dcb21e970d2424f31791b84 Mon Sep 17 00:00:00 2001 From: Don McCurdy Date: Mon, 17 Apr 2023 16:53:32 -0400 Subject: [PATCH 2/2] Fix examples --- examples/screenshots/misc_exporter_draco.jpg | Bin 19076 -> 19643 bytes examples/screenshots/physics_ammo_terrain.jpg | Bin 22030 -> 22200 bytes examples/webgl_morphtargets.html | 1 + 3 files changed, 1 insertion(+) diff --git a/examples/screenshots/misc_exporter_draco.jpg b/examples/screenshots/misc_exporter_draco.jpg index b47629bfd8d2cf87d38c24080ed3e142af16c5e0..227f22232b1535567e1d1dcc5b6c6349d17ae00a 100644 GIT binary patch delta 13314 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 diff --git a/examples/screenshots/physics_ammo_terrain.jpg b/examples/screenshots/physics_ammo_terrain.jpg index a7c6855d494329269726f2430f60a12bb639a485..0655b0cd24654333025431171f62889a69f2b99b 100644 GIT binary patch delta 19327 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 delta 19191 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 Da=ku* diff --git a/examples/webgl_morphtargets.html b/examples/webgl_morphtargets.html index f015010edd11dc..3dbe2e731f986f 100644 --- a/examples/webgl_morphtargets.html +++ b/examples/webgl_morphtargets.html @@ -58,6 +58,7 @@ const material = new THREE.MeshPhongMaterial( { color: 0xff0000, + specular: 0x111111, flatShading: true } );