瀏覽代碼

Add support for Uint32 and Int32 to normalize / denormalize (#25984)

Garrett Johnson 2 年之前
父節點
當前提交
6ed7c24295
共有 1 個文件被更改,包括 16 次插入0 次删除
  1. 16 0
      src/math/MathUtils.js

+ 16 - 0
src/math/MathUtils.js

@@ -235,6 +235,10 @@ function denormalize( value, array ) {
 
 			return value;
 
+		case Uint32Array:
+
+			return value / 4294967295.0;
+
 		case Uint16Array:
 
 			return value / 65535.0;
@@ -243,6 +247,10 @@ function denormalize( value, array ) {
 
 			return value / 255.0;
 
+		case Int32Array:
+
+			return Math.max( value / 2147483647.0, - 1.0 );
+
 		case Int16Array:
 
 			return Math.max( value / 32767.0, - 1.0 );
@@ -267,6 +275,10 @@ function normalize( value, array ) {
 
 			return value;
 
+		case Uint32Array:
+
+			return Math.round( value * 4294967295.0 );
+
 		case Uint16Array:
 
 			return Math.round( value * 65535.0 );
@@ -275,6 +287,10 @@ function normalize( value, array ) {
 
 			return Math.round( value * 255.0 );
 
+		case Int32Array:
+
+			return Math.round( value * 2147483647.0 );
+
 		case Int16Array:
 
 			return Math.round( value * 32767.0 );