1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import Binding from './Binding.js';
- let id = 0;
- class SampledTexture extends Binding {
- constructor( name, texture ) {
- super( name );
- this.id = id ++;
- this.texture = texture;
- this.version = 0;
- this.isSampledTexture = true;
- }
- get needsBindingsUpdate() {
- const { texture, version } = this;
- return texture.isVideoTexture ? true : version !== texture.version; // @TODO: version === 0 && texture.version > 0 ( add it just to External Textures like PNG,JPG )
- }
- update() {
- if ( this.version !== this.texture.version ) {
- this.version = this.texture.version;
- return true;
- }
- return false;
- }
- }
- class SampledArrayTexture extends SampledTexture {
- constructor( name, texture ) {
- super( name, texture );
- this.isSampledArrayTexture = true;
- }
- }
- class Sampled3DTexture extends SampledTexture {
- constructor( name, texture ) {
- super( name, texture );
- this.isSampled3DTexture = true;
- }
- }
- class SampledCubeTexture extends SampledTexture {
- constructor( name, texture ) {
- super( name, texture );
- this.isSampledCubeTexture = true;
- }
- }
- export { SampledTexture, SampledArrayTexture, Sampled3DTexture, SampledCubeTexture };
|