import { ValueOf } from "ts-essentials"; import NamedComponent from "../named-component/index.js"; /** * Magnification filter types. All values correspond to WebGL enum values. * @alias MagFilterTypes * @enum {number} * @memberof Sampler * @static */ declare const magFilterTypes: { readonly NEAREST: 9728; readonly LINEAR: 9729; }; type MagFilterType = ValueOf; /** * Minification filter types. All values correspond to WebGL enum values. * @alias MinFilterTypes * @enum {number} * @memberof Sampler * @static */ declare const minFilterTypes: { readonly NEAREST: 9728; readonly LINEAR: 9729; readonly NEAREST_MIPMAP_NEAREST: 9984; readonly LINEAR_MIPMAP_NEAREST: 9985; readonly NEAREST_MIPMAP_LINEAR: 9986; readonly LINEAR_MIPMAP_LINEAR: 9987; }; type MinFilterType = ValueOf; /** * Wrapping modes. All values correspond to WebGL enum values. * @alias WrapModes * @enum {number} * @memberof Sampler * @static */ declare const wrapModes: { readonly CLAMP_TO_EDGE: 33071; readonly MIRRORED_REPEAT: 33648; readonly REPEAT: 10497; }; type WrapMode = ValueOf; /** * Sampler - a builder for a GLTF sampler object. * Defines filtering and wrapping modes for a texture. * @see {@link https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#reference-sampler | GLTF reference} * @hideconstructor */ export default class Sampler extends NamedComponent<{ magFilter: MagFilterType; minFilter: MinFilterType; wrapS: WrapMode; wrapT: WrapMode; }> { static get MagFilterTypes(): { readonly NEAREST: 9728; readonly LINEAR: 9729; }; static get MinFilterTypes(): { readonly NEAREST: 9728; readonly LINEAR: 9729; readonly NEAREST_MIPMAP_NEAREST: 9984; readonly LINEAR_MIPMAP_NEAREST: 9985; readonly NEAREST_MIPMAP_LINEAR: 9986; readonly LINEAR_MIPMAP_LINEAR: 9987; }; static get WrapModes(): { readonly CLAMP_TO_EDGE: 33071; readonly MIRRORED_REPEAT: 33648; readonly REPEAT: 10497; }; constructor(); /** * Sets the magFilter mode for this sampler * * @param {Sampler.MagFilterTypes} magFilter * @returns {Sampler} this */ magFilter(magFilter: MagFilterType): Sampler; /** * Sets the minFilter mode for this sampler * * @param {Sampler.MinFilterTypes} minFilter * @returns {Sampler} this */ minFilter(minFilter: MinFilterType): Sampler; /** * Sets the S (U) wrapping mode for this sampler * * @param {Sampler.WrapModes} wrapS * @returns {Sampler} this */ wrapS(wrapS: WrapMode): Sampler; /** * Sets the T (V) wrapping mode for this sampler * * @param {Sampler.WrapModes} wrapT * @returns {Sampler} this */ wrapT(wrapT: WrapMode): Sampler; } export {};