浏览代码

WebGPURenderer: Fix 16-bit normalized attributes (#28009)

* fix 16-bit normalized attributes

* cleanup
sunag 1 年之前
父节点
当前提交
99259ffd7e
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js

+ 2 - 2
examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js

@@ -47,7 +47,7 @@ class WebGPUAttributeUtils {
 			let array = bufferAttribute.array;
 
 			// patch for INT16 and UINT16
-			if ( array.constructor === Int16Array || array.constructor === Uint16Array ) {
+			if ( attribute.normalized === false && ( array.constructor === Int16Array || array.constructor === Uint16Array ) ) {
 
 				const tempArray = new Uint32Array( array.length );
 				for ( let i = 0; i < array.length; i ++ ) {
@@ -168,7 +168,7 @@ class WebGPUAttributeUtils {
 				}
 
 				// patch for INT16 and UINT16
-				if ( geometryAttribute.array.constructor === Int16Array || geometryAttribute.array.constructor === Uint16Array ) {
+				if ( geometryAttribute.normalized === false && ( geometryAttribute.array.constructor === Int16Array || geometryAttribute.array.constructor === Uint16Array ) ) {
 
 					arrayStride = 4;