Options used to create this MediaTexture.

interface MediaTextureOptions {
    sources: (string | TextureSource)[];
    sourcesTypes: TextureSourceType[];
    label?: string;
    name?: string;
    fixedSize?: TextureSize;
    usage?: TextureUsageKeys[];
    autoDestroy?: boolean;
    fromTexture?: DOMTexture | MediaTexture | Texture;
    qualityRatio?: number;
    type?: TextureBindingType;
    access?: BindingMemoryAccessType;
    sampleCount?: number;
    format?: GPUTextureFormat;
    generateMips?: boolean;
    flipY?: boolean;
    premultipliedAlpha?: boolean;
    viewDimension?: GPUTextureViewDimension;
    aspect?: GPUTextureAspect;
    colorSpace?: PredefinedColorSpace;
    visibility?: MaterialShadersType[];
    placeholderColor?: [number, number, number, number];
    useExternalTextures?: boolean;
    cache?: boolean;
    useTransform?: boolean;
}

Hierarchy (View Summary)

Properties

sources: (string | TextureSource)[]

Texture sources.

sourcesTypes: TextureSourceType[]

Texture sources type.

label?: string

The label of the Texture, used to create various GPU objects for debugging purpose.

name?: string

Name of the Texture to use in the texture binding.

fixedSize?: TextureSize

Optional fixed size of the texture. If set, the Texture will never be resized and always keep that size.

Allowed usages for the GPU texture as an array of texture usages names.

autoDestroy?: boolean

Whether any Material using this Texture should automatically destroy it upon destruction. Default to true.

fromTexture?: DOMTexture | MediaTexture | Texture

Optional texture to use as a copy source input. Could be a Texture or DOMTexture.

qualityRatio?: number

Force the texture size to be set to the given ratio of the renderer canvas size or fixedSize. Used mainly to shrink render target texture definition.

Whether to use this Texture as a regular, storage or depth texture.

Optional texture binding memory access type, mainly used for storage textures.

sampleCount?: number

Sample count of the texture, used for multisampling.

format?: GPUTextureFormat

The GPUTexture format to use. Default to 'rgba8unorm'.

generateMips?: boolean

Whether to generate mips. Default to false.

flipY?: boolean

Whether to flip the source along the Y axis. Default to false.

premultipliedAlpha?: boolean

Whether this texture should be premultiplied or not. Default to false.

viewDimension?: GPUTextureViewDimension

The GPUTexture view dimension to use. Default to '2d'.

aspect?: GPUTextureAspect

Define which aspect of the texture to write the image to. Default to all.

colorSpace?: PredefinedColorSpace

Define the colorSpace and encoding used to encode data into the destination texture. Default to srgb.

visibility?: MaterialShadersType[]

The texture shaders visibility sent to the texture binding. Default to 'fragment'.

placeholderColor?: [number, number, number, number]

Solid color used by temporary texture to display while loading the source, as an array of RGBA integer values in the [0, 255] range. Default to [0, 0, 0, 255] (solid black).

useExternalTextures?: boolean

Whether video textures should use GPUExternalTexture or not. Default to true.

cache?: boolean

Whether to keep the texture in the renderer cache when a Material tries to destroy it. Default to true.

useTransform?: boolean

Whether to use a transformation Mat3 to use in the shaders for UV transformations. If set to true, will create a BufferBinding accessible in the shaders with the name ${texture.options.name}Matrix.