瀏覽代碼

Examples: More sRGB migration. (#26120)

* Examples: More sRGB migration.

* Examples: Update screenshots.
Michael Herzog 2 年之前
父節點
當前提交
7d32e6a119
共有 3 個文件被更改,包括 20 次插入7 次删除
  1. 8 3
      examples/jsm/loaders/STLLoader.js
  2. 12 4
      examples/jsm/loaders/VTKLoader.js
  3. 二進制
      examples/screenshots/webgl_loader_stl.jpg

+ 8 - 3
examples/jsm/loaders/STLLoader.js

@@ -1,6 +1,7 @@
 import {
 	BufferAttribute,
 	BufferGeometry,
+	Color,
 	FileLoader,
 	Float32BufferAttribute,
 	Loader,
@@ -195,6 +196,8 @@ class STLLoader extends Loader {
 			const vertices = new Float32Array( faces * 3 * 3 );
 			const normals = new Float32Array( faces * 3 * 3 );
 
+			const color = new Color();
+
 			for ( let face = 0; face < faces; face ++ ) {
 
 				const start = dataOffset + face * faceLength;
@@ -239,9 +242,11 @@ class STLLoader extends Loader {
 
 					if ( hasColors ) {
 
-						colors[ componentIdx ] = r;
-						colors[ componentIdx + 1 ] = g;
-						colors[ componentIdx + 2 ] = b;
+						color.set( r, g, b ).convertSRGBToLinear();
+
+						colors[ componentIdx ] = color.r;
+						colors[ componentIdx + 1 ] = color.g;
+						colors[ componentIdx + 2 ] = color.b;
 
 					}
 

+ 12 - 4
examples/jsm/loaders/VTKLoader.js

@@ -1,6 +1,7 @@
 import {
 	BufferAttribute,
 	BufferGeometry,
+	Color,
 	FileLoader,
 	Float32BufferAttribute,
 	Loader
@@ -107,6 +108,8 @@ class VTKLoader extends Loader {
 			let inColorSection = false;
 			let inNormalsSection = false;
 
+			const color = new Color();
+
 			const lines = data.split( '\n' );
 
 			for ( const i in lines ) {
@@ -207,7 +210,10 @@ class VTKLoader extends Loader {
 							const r = parseFloat( result[ 1 ] );
 							const g = parseFloat( result[ 2 ] );
 							const b = parseFloat( result[ 3 ] );
-							colors.push( r, g, b );
+
+							color.set( r, g, b ).convertSRGBToLinear();
+
+							colors.push( color.r, color.g, color.b );
 
 						}
 
@@ -319,9 +325,11 @@ class VTKLoader extends Loader {
 						const g = colors[ 3 * i + 1 ];
 						const b = colors[ 3 * i + 2 ];
 
-						newColors.push( r, g, b );
-						newColors.push( r, g, b );
-						newColors.push( r, g, b );
+						color.set( r, g, b ).convertSRGBToLinear();
+
+						newColors.push( color.r, color.g, color.b );
+						newColors.push( color.r, color.g, color.b );
+						newColors.push( color.r, color.g, color.b );
 
 					}
 

二進制
examples/screenshots/webgl_loader_stl.jpg