threepipe
Version:
A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.
38 lines • 1.29 kB
TypeScript
import { IMaterial } from './IMaterial';
import { Event, Source, Texture } from 'three';
import { ChangeEvent } from 'uiconfig.js';
import { IRenderTarget } from '../rendering';
export interface ITextureUserData {
mimeType?: string;
embedUrlImagePreviews?: boolean;
/**
* Automatically dispose texture when not used by any material that's applied to some object in the scene.
* Works only after it's applied to a material once.
*/
disposeOnIdle?: boolean;
}
export type ITextureEventTypes = 'dispose' | 'update';
export type ITextureEvent<T extends string = ITextureEventTypes> = Event & {
type: T;
texture?: ITexture;
uiChangeEvent?: ChangeEvent;
};
export interface ITexture extends Texture {
assetType?: 'texture';
userData: ITextureUserData;
readonly isTexture: true;
isDataTexture?: boolean;
isCubeTexture?: boolean;
isVideoTexture?: boolean;
isCanvasTexture?: boolean;
isCompressedTexture?: boolean;
is3DDataTexture?: boolean;
setDirty?(): void;
source: Source & {
_sourceImgBuffer?: ArrayBuffer | Uint8Array;
};
_appliedMaterials?: Set<IMaterial>;
_target?: IRenderTarget;
}
export declare function upgradeTexture(this: ITexture): void;
//# sourceMappingURL=ITexture.d.ts.map