TextureNode.js 540 B

12345678910111213141516171819202122232425262728
  1. import InputNode from '../core/InputNode.js';
  2. import UVNode from '../accessors/UVNode.js';
  3. class TextureNode extends InputNode {
  4. constructor( value, uv = new UVNode() ) {
  5. super( 'texture' );
  6. this.value = value;
  7. this.uv = uv;
  8. }
  9. generate( builder, output ) {
  10. const textureSnippet = super.generate( builder );
  11. const uvSnippet = this.uv.build( builder );
  12. const textureCall = builder.getTexture( textureSnippet, uvSnippet );
  13. return builder.format( textureCall, 'vec4', output );
  14. }
  15. }
  16. export default TextureNode;