import { Device } from './../Device'; /** * An object with all sampler state properties * * @public */ export interface ISamplerState { minFilter: number; magFilter: number; wrapU: number; wrapV: number; wrapW: number; minLod: number; maxLod: number; compareMode: number; compareFunc: number; } /** * An object with partial {@link ISamplerState} properties * * @public */ export declare type SamplerStateParams = Partial; /** * @public */ export declare abstract class SamplerState implements ISamplerState { /** * The default sampler state which is essentially the same as {@link SamplerState.PointClamp} */ static Default: Readonly; /** * A sampler state with linear filtering but clamp mode */ static LinearClamp: Readonly; /** * A sampler state with linear filtering and wrap mode */ static LinearWrap: Readonly; /** * A sampler state with point filtering and clamp mode */ static PointClamp: Readonly; /** * A sampler state with point filtering and wrap mode */ static PointWrap: Readonly; static convert(state: SamplerStateParams): ISamplerState; /** * Applies sampler state params that are safe for non power of two textures */ static fixNonPowerOfTwo(state: SamplerStateParams): SamplerStateParams; /** * The graphics device */ abstract readonly device: Device; protected $minFilter: number; protected $magFilter: number; protected $wrapU: number; protected $wrapV: number; protected $wrapW: number; protected $minLod: number; protected $maxLod: number; protected $compareMode: number; protected $compareFunc: number; private hasChanged; private changes; /** * @internal */ get minFilterName(): string; /** * */ get minFilter(): number; set minFilter(value: number); /** * @internal */ get magFilterName(): string; /** * */ get magFilter(): number; set magFilter(value: number); /** * @internal */ get wrapUName(): string; /** * */ get wrapU(): number; set wrapU(value: number); /** * @internal */ get wrapVName(): string; /** * */ get wrapV(): number; set wrapV(value: number); /** * @internal */ get wrapWName(): string; /** * */ get wrapW(): number; set wrapW(value: number); /** * */ get minLod(): number; set minLod(value: number); /** * */ get maxLod(): number; set maxLod(value: number); /** * */ get compareMode(): number; set compareMode(value: number); /** * */ get compareFunc(): number; set compareFunc(value: number); /** * Recreates the underlying sampler object if necessary */ abstract setup(): this; abstract destroy(): this; assign(state: SamplerStateParams): this; /** * Creates a copy of this state */ copy(): ISamplerState; /** * Creates a copy of this state and writes it into the target object * * @param target - Where the state should be written to */ copy(target: T): T & ISamplerState; commit(state?: SamplerStateParams): this; abstract commitChanges(changes: SamplerStateParams): this; protected clearChanges(): void; } //# sourceMappingURL=SamplerState.d.ts.map