File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -265,8 +265,11 @@ class BufferAttributeNode extends InputNode {
265265 generate ( builder ) {
266266
267267 const nodeType = this . getNodeType ( builder ) ;
268+ const nodeName = builder . context . nodeName ;
268269
269- const nodeAttribute = builder . getBufferAttributeFromNode ( this , nodeType ) ;
270+ if ( nodeName !== undefined ) delete builder . context . nodeName ; // deleting when consumed
271+
272+ const nodeAttribute = builder . getBufferAttributeFromNode ( this , nodeType , nodeName ) ;
270273 const propertyName = builder . getPropertyName ( nodeAttribute ) ;
271274
272275 let output = null ;
@@ -279,7 +282,15 @@ class BufferAttributeNode extends InputNode {
279282
280283 } else {
281284
282- const nodeVarying = varying ( this ) ;
285+ let varyingName ;
286+
287+ if ( nodeName ) {
288+
289+ varyingName = nodeName + 'Varying' ;
290+
291+ }
292+
293+ const nodeVarying = varying ( this , varyingName ) ;
283294
284295 output = nodeVarying . build ( builder , nodeType ) ;
285296
Original file line number Diff line number Diff line change @@ -1839,9 +1839,10 @@ class NodeBuilder {
18391839 *
18401840 * @param {BufferAttributeNode } node - The buffer attribute node.
18411841 * @param {string } type - The node type.
1842+ * @param {?string } [name=null] - The name of the buffer attribute.
18421843 * @return {NodeAttribute } The node attribute.
18431844 */
1844- getBufferAttributeFromNode ( node , type ) {
1845+ getBufferAttributeFromNode ( node , type , name = null ) {
18451846
18461847 const nodeData = this . getDataFromNode ( node , 'vertex' ) ;
18471848
@@ -1851,7 +1852,13 @@ class NodeBuilder {
18511852
18521853 const index = this . uniforms . index ++ ;
18531854
1854- bufferAttribute = new NodeAttribute ( 'nodeAttribute' + index , type , node ) ;
1855+ if ( name === null ) {
1856+
1857+ name = 'nodeAttribute' + index ;
1858+
1859+ }
1860+
1861+ bufferAttribute = new NodeAttribute ( name , type , node ) ;
18551862
18561863 this . bufferAttributes . push ( bufferAttribute ) ;
18571864
You can’t perform that action at this time.
0 commit comments