@@ -46,13 +46,20 @@ class UniformArrayNode extends BufferNode {
46
46
47
47
this . array = value ;
48
48
this . elementType = elementType === null ? getValueType ( value [ 0 ] ) : elementType ;
49
+ this . paddedType = this . getPaddedType ( ) ;
49
50
50
51
this . updateType = NodeUpdateType . RENDER ;
51
52
52
53
this . isArrayBufferNode = true ;
53
54
54
55
}
55
56
57
+ getNodeType ( ) {
58
+
59
+ return this . paddedType ;
60
+
61
+ }
62
+
56
63
getElementType ( ) {
57
64
58
65
return this . elementType ;
@@ -61,7 +68,8 @@ class UniformArrayNode extends BufferNode {
61
68
62
69
getPaddedType ( ) {
63
70
64
- const elementType = this . getElementType ( ) ;
71
+ const elementType = this . elementType ;
72
+
65
73
let paddedType = 'vec4' ;
66
74
67
75
if ( elementType === 'mat2' ) {
@@ -90,7 +98,7 @@ class UniformArrayNode extends BufferNode {
90
98
91
99
const { array, value } = this ;
92
100
93
- const elementType = this . getElementType ( ) ;
101
+ const elementType = this . elementType ;
94
102
95
103
if ( elementType === 'float' || elementType === 'int' || elementType === 'uint' ) {
96
104
@@ -189,11 +197,11 @@ class UniformArrayNode extends BufferNode {
189
197
setup ( builder ) {
190
198
191
199
const length = this . array . length ;
200
+ const elementType = this . elementType ;
192
201
193
- const elementType = this . getElementType ( ) ;
194
202
let arrayType = Float32Array ;
195
203
196
- const paddedType = this . getPaddedType ( ) ;
204
+ const paddedType = this . paddedType ;
197
205
const paddedElementLength = builder . getTypeLength ( paddedType ) ;
198
206
199
207
if ( elementType . charAt ( 0 ) === 'i' ) arrayType = Int32Array ;
0 commit comments