UNPKG

@threlte/extras

Version:

Utilities, abstractions and plugins for your Threlte apps

104 lines (103 loc) 1.94 kB
import type { ShaderMaterial, ColorRepresentation, Side, Texture, VideoTexture } from 'three'; import type { Props } from '@threlte/core'; export type ImageMaterialProps = Props<ShaderMaterial> & { /** * @default 'white' */ color?: ColorRepresentation; /** * @default 1 */ segments?: number; /** * @defaut 1 */ scale?: [number, number] | number; /** * @default 1 */ zoom?: number; /** * @default 0 */ radius?: number; /** * @default 0 */ alphaThreshold?: number; /** * @default 0.1 */ alphaSmoothing?: number; /** * @default 0 */ brightness?: number; /** * @default 0 */ contrast?: number; /** * @default 0 */ hue?: number; /** * @default 0 */ saturation?: number; /** * @default 0 */ lightness?: number; /** * @default '#535970' */ monochromeColor?: string; /** * @default 0 */ monochromeStrength?: number; /** * @default false */ negative?: boolean; /** * Can be used to adjust the strength and the pattern of color processing * * Each channel of the texture is responsible for a different color processing function * (multiplicatively with the effect's value set via the other props) * * r - hue * * g - saturation * * b - lightness * * a - alpha override * * @default undefined */ colorProcessingTexture?: Texture | VideoTexture | undefined; /** * @default true */ toneMapped?: boolean; /** * @default false */ transparent?: boolean; /** * @default 1 */ opacity?: number; /** * @default Three.FrontSide */ side?: Side; } & ({ texture: Texture; url?: never; } | { texture?: never; url: string; });