import { Texture } from 'three/webgpu'; import { DIVEResource } from '../Resource.ts'; import { DIVEResourceCache } from '../cache/ResourceCache.ts'; import { DIVEResourceKind } from '../prototype/ResourcePrototype.ts'; /** * Equirectangular images, lent as they are: no user changes a texture, and * three uploads the pixels once per `Texture` object. */ export declare const textureResourceKind: DIVEResourceKind; /** * The prototypes every texture resource shares by default, so a URL is loaded * once however often it is used. It keeps the two images let go of last, so * switching back to one does not load it again. */ export declare const textureResourceCache: DIVEResourceCache>; /** * An equirectangular image a DIVE object uses, requested by URL. * * Texture resources requesting the same URL load it once and share one * `Texture`, which is disposed once the last of them lets go and it is no * longer among the images their cache keeps. */ export declare class TextureResource extends DIVEResource { /** * @param cache - Where the prototypes are kept; by default the one every * texture resource shares. */ constructor(cache?: DIVEResourceCache); }