فهرست منبع

Convert to linear colors when parsing LDraw models (#23272)

Garrett Johnson 3 سال پیش
والد
کامیت
82776b6d56
2فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 3 0
      examples/jsm/loaders/LDrawLoader.js
  2. 1 0
      examples/webgl_loader_ldraw.html

+ 3 - 0
examples/jsm/loaders/LDrawLoader.js

@@ -2329,6 +2329,7 @@ class LDrawLoader extends Loader {
 		material.premultipliedAlpha = true;
 		material.opacity = alpha;
 		material.depthWrite = ! isTransparent;
+		material.color.convertSRGBToLinear();
 
 		material.polygonOffset = true;
 		material.polygonOffsetFactor = 1;
@@ -2350,6 +2351,7 @@ class LDrawLoader extends Loader {
 			} );
 			edgeMaterial.userData.code = code;
 			edgeMaterial.name = name + ' - Edge';
+			edgeMaterial.color.convertSRGBToLinear();
 
 			// This is the material used for conditional edges
 			edgeMaterial.userData.conditionalEdgeMaterial = new LDrawConditionalLineMaterial( {
@@ -2361,6 +2363,7 @@ class LDrawLoader extends Loader {
 				opacity: alpha,
 
 			} );
+			edgeMaterial.userData.conditionalEdgeMaterial.color.convertSRGBToLinear();
 
 		}
 

+ 1 - 0
examples/webgl_loader_ldraw.html

@@ -88,6 +88,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.outputEncoding = THREE.sRGBEncoding;
 				renderer.toneMapping = THREE.ACESFilmicToneMapping;
 				container.appendChild( renderer.domElement );