123456789101112131415161718192021222324252627282930313233343536373839 |
- import Node from './Node.js';
- import { NodeShaderStage } from './constants.js';
- class VaryNode extends Node {
- constructor( value ) {
- super();
- this.value = value;
- }
- getType( builder ) {
- // VaryNode is auto type
- return this.value.getType( builder );
- }
- generate( builder, output ) {
- const type = this.getType( builder );
- const value = this.value;
- const nodeVary = builder.getVaryFromNode( this, type );
- const propertyName = builder.getPropertyName( nodeVary );
- // force nodeVary.snippet work in vertex stage
- builder.flowNodeFromShaderStage( NodeShaderStage.Vertex, value, type, propertyName );
- return builder.format( propertyName, type, output );
- }
- }
- export default VaryNode;
|