modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
41 lines (40 loc) • 1.52 kB
TypeScript
import type { AlphaMode, GlRenderer, ScaleMode, TextureFormat, TextureLikeObject, TextureLikeReactiveObject, TextureSource, WrapMode } from '../../../core';
import { Resource } from '../../../core';
export interface Texture2DProperties<T extends TextureSource = TextureSource> extends Partial<Omit<TextureLikeObject, 'source'>> {
source?: T;
}
export declare class Texture2D<T extends TextureSource = TextureSource> extends Resource implements TextureLikeReactiveObject {
static get EMPTY(): Texture2D;
static get WHITE(): Texture2D;
static get BLACK(): Texture2D;
static get RED(): Texture2D;
static get GREEN(): Texture2D;
static get BLUE(): Texture2D;
uploadMethodId: string;
source: T;
width: number;
height: number;
pixelRatio: number;
format: TextureFormat;
alphaMode: AlphaMode;
mipLevelCount: number;
mipmap: boolean;
addressModeU: WrapMode;
addressModeV: WrapMode;
addressModeW: WrapMode;
magFilter: ScaleMode;
minFilter: ScaleMode;
mipmapFilter: ScaleMode;
isPowerOfTwo: boolean;
get sourceWidth(): number;
get sourceHeight(): number;
get pixelWidth(): number;
get pixelHeight(): number;
constructor(properties?: Texture2DProperties<T>);
isValid(): boolean;
protected _updateProperty(key: string, value: any, oldValue: any): void;
updateSize(): void;
activate(renderer: GlRenderer, location?: number): boolean;
inactivate(renderer: GlRenderer): void;
destroy(): void;
}