Skip to content

Commit 7dd5615

Browse files
authored
Examples: Clean up. (#26135)
* Examples: Clean up. * Examples: Update screenshots. * Examples: Clean up. * VRMLLoader: Fix typo. * Examples: Remove useless check. * VRMLLoader: Fix colors one more time. * Examples: Update screenshots.
1 parent 673eca6 commit 7dd5615

File tree

6 files changed

+17
-26
lines changed

6 files changed

+17
-26
lines changed

examples/jsm/loaders/MMDLoader.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import {
44
Bone,
55
BufferGeometry,
66
Color,
7-
ColorManagement,
87
CustomBlending,
98
TangentSpaceNormalMap,
109
DoubleSide,
@@ -1141,13 +1140,9 @@ class MaterialBuilder {
11411140
params.emissive = new Color().fromArray( material.ambient );
11421141
params.transparent = params.opacity !== 1.0;
11431142

1144-
if ( ColorManagement.enabled === true ) {
1145-
1146-
params.diffuse.convertSRGBToLinear();
1147-
params.specular.convertSRGBToLinear();
1148-
params.emissive.convertSRGBToLinear();
1149-
1150-
}
1143+
params.diffuse.convertSRGBToLinear();
1144+
params.specular.convertSRGBToLinear();
1145+
params.emissive.convertSRGBToLinear();
11511146

11521147
//
11531148

examples/jsm/loaders/VRMLLoader.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -919,6 +919,7 @@ class VRMLLoader extends Loader {
919919
} else {
920920

921921
skyMaterial.color.setRGB( skyColor[ 0 ], skyColor[ 1 ], skyColor[ 2 ] );
922+
skyMaterial.convertSRGBToLinear();
922923

923924
}
924925

@@ -1224,18 +1225,21 @@ class VRMLLoader extends Loader {
12241225

12251226
case 'diffuseColor':
12261227
materialData.diffuseColor = new Color( fieldValues[ 0 ], fieldValues[ 1 ], fieldValues[ 2 ] );
1228+
materialData.diffuseColor.convertSRGBToLinear();
12271229
break;
12281230

12291231
case 'emissiveColor':
12301232
materialData.emissiveColor = new Color( fieldValues[ 0 ], fieldValues[ 1 ], fieldValues[ 2 ] );
1233+
materialData.emissiveColor.convertSRGBToLinear();
12311234
break;
12321235

12331236
case 'shininess':
12341237
materialData.shininess = fieldValues[ 0 ];
12351238
break;
12361239

12371240
case 'specularColor':
1238-
materialData.emissiveColor = new Color( fieldValues[ 0 ], fieldValues[ 1 ], fieldValues[ 2 ] );
1241+
materialData.specularColor = new Color( fieldValues[ 0 ], fieldValues[ 1 ], fieldValues[ 2 ] );
1242+
materialData.specularColor.convertSRGBToLinear();
12391243
break;
12401244

12411245
case 'transparency':

examples/jsm/math/Lut.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {
22
Color,
3+
LinearSRGBColorSpace,
34
MathUtils
45
} from 'three';
56

@@ -75,8 +76,8 @@ class Lut {
7576
const min = this.map[ j ][ 0 ];
7677
const max = this.map[ j + 1 ][ 0 ];
7778

78-
minColor.set( this.map[ j ][ 1 ] );
79-
maxColor.set( this.map[ j + 1 ][ 1 ] );
79+
minColor.setHex( this.map[ j ][ 1 ], LinearSRGBColorSpace );
80+
maxColor.setHex( this.map[ j + 1 ][ 1 ], LinearSRGBColorSpace );
8081

8182
const color = new Color().lerpColors( minColor, maxColor, ( alpha - min ) / ( max - min ) );
8283

@@ -165,8 +166,8 @@ class Lut {
165166
const min = this.map[ j - 1 ][ 0 ];
166167
const max = this.map[ j ][ 0 ];
167168

168-
minColor.set( this.map[ j - 1 ][ 1 ] );
169-
maxColor.set( this.map[ j ][ 1 ] );
169+
minColor.setHex( this.map[ j - 1 ][ 1 ], LinearSRGBColorSpace );
170+
maxColor.setHex( this.map[ j ][ 1 ], LinearSRGBColorSpace );
170171

171172
finalColor.lerpColors( minColor, maxColor, ( i - min ) / ( max - min ) );
172173

75 Bytes
Loading
1.15 KB
Loading

examples/webgl_geometry_colors_lookuptable.html

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@
4646
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
4747
import { Lut } from 'three/addons/math/Lut.js';
4848

49-
THREE.ColorManagement.enabled = false; // TODO: Confirm correct color management.
50-
5149
let container;
5250

5351
let perpCamera, orthoCamera, renderer, lut;
@@ -83,6 +81,7 @@
8381
sprite = new THREE.Sprite( new THREE.SpriteMaterial( {
8482
map: new THREE.CanvasTexture( lut.createCanvas() )
8583
} ) );
84+
sprite.material.map.colorSpace = THREE.SRGBColorSpace;
8685
sprite.scale.x = 0.125;
8786
uiScene.add( sprite );
8887

@@ -102,7 +101,6 @@
102101
perpCamera.add( pointLight );
103102

104103
renderer = new THREE.WebGLRenderer( { antialias: true } );
105-
renderer.outputColorSpace = THREE.LinearSRGBColorSpace;
106104
renderer.autoClear = false;
107105
renderer.setPixelRatio( window.devicePixelRatio );
108106
renderer.setSize( width, height );
@@ -183,22 +181,15 @@
183181
const geometry = mesh.geometry;
184182
const pressures = geometry.attributes.pressure;
185183
const colors = geometry.attributes.color;
184+
const color = new THREE.Color();
186185

187186
for ( let i = 0; i < pressures.array.length; i ++ ) {
188187

189188
const colorValue = pressures.array[ i ];
190189

191-
const color = lut.getColor( colorValue );
192-
193-
if ( color === undefined ) {
194-
195-
console.log( 'Unable to determine color for value:', colorValue );
190+
color.copy( lut.getColor( colorValue ) ).convertSRGBToLinear();
196191

197-
} else {
198-
199-
colors.setXYZ( i, color.r, color.g, color.b );
200-
201-
}
192+
colors.setXYZ( i, color.r, color.g, color.b );
202193

203194
}
204195

0 commit comments

Comments
 (0)