@@ -46,13 +46,20 @@ class UniformArrayNode extends BufferNode {
4646
4747 this . array = value ;
4848 this . elementType = elementType === null ? getValueType ( value [ 0 ] ) : elementType ;
49+ this . paddedType = this . getPaddedType ( ) ;
4950
5051 this . updateType = NodeUpdateType . RENDER ;
5152
5253 this . isArrayBufferNode = true ;
5354
5455 }
5556
57+ getNodeType ( ) {
58+
59+ return this . paddedType ;
60+
61+ }
62+
5663 getElementType ( ) {
5764
5865 return this . elementType ;
@@ -61,7 +68,8 @@ class UniformArrayNode extends BufferNode {
6168
6269 getPaddedType ( ) {
6370
64- const elementType = this . getElementType ( ) ;
71+ const elementType = this . elementType ;
72+
6573 let paddedType = 'vec4' ;
6674
6775 if ( elementType === 'mat2' ) {
@@ -90,7 +98,7 @@ class UniformArrayNode extends BufferNode {
9098
9199 const { array, value } = this ;
92100
93- const elementType = this . getElementType ( ) ;
101+ const elementType = this . elementType ;
94102
95103 if ( elementType === 'float' || elementType === 'int' || elementType === 'uint' ) {
96104
@@ -189,11 +197,11 @@ class UniformArrayNode extends BufferNode {
189197 setup ( builder ) {
190198
191199 const length = this . array . length ;
200+ const elementType = this . elementType ;
192201
193- const elementType = this . getElementType ( ) ;
194202 let arrayType = Float32Array ;
195203
196- const paddedType = this . getPaddedType ( ) ;
204+ const paddedType = this . paddedType ;
197205 const paddedElementLength = builder . getTypeLength ( paddedType ) ;
198206
199207 if ( elementType . charAt ( 0 ) === 'i' ) arrayType = Int32Array ;
0 commit comments