three
Version:
JavaScript 3D library
33 lines (18 loc) • 657 B
JavaScript
import InputNode from '../core/InputNode.js';
import UVNode from '../accessors/UVNode.js';
class TextureNode extends InputNode {
constructor( value = null, uv = new UVNode() ) {
super( 'texture' );
this.value = value;
this.uv = uv;
}
generate( builder, output ) {
const type = this.getType( builder );
const textureProperty = super.generate( builder, type );
const uvSnippet = this.uv.build( builder, 'vec2' );
const textureCallSnippet = builder.getTexture( textureProperty, uvSnippet );
return builder.format( textureCallSnippet, type, output );
}
}
TextureNode.prototype.isTextureNode = true;
export default TextureNode;