NodeSampledTexture.js 767 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { SampledTexture } from '../SampledTexture.js';
  2. class NodeSampledTexture extends SampledTexture {
  3. constructor( name, textureNode ) {
  4. super( name, textureNode ? textureNode.value : null );
  5. this.textureNode = textureNode;
  6. }
  7. get needsBindingsUpdate() {
  8. return this.textureNode.value !== this.texture || super.needsBindingsUpdate;
  9. }
  10. update() {
  11. const { textureNode } = this;
  12. if ( this.texture !== textureNode.value ) {
  13. this.texture = textureNode.value;
  14. return true;
  15. }
  16. return super.update();
  17. }
  18. }
  19. class NodeSampledCubeTexture extends NodeSampledTexture {
  20. constructor( name, textureNode ) {
  21. super( name, textureNode );
  22. this.isSampledCubeTexture = true;
  23. }
  24. }
  25. export { NodeSampledTexture, NodeSampledCubeTexture };