Parameters used to create a MediaTexture.

interface MediaTextureParams {
    label?: string;
    name?: string;
    fixedSize?: TextureSize;
    usage?: TextureUsageKeys[];
    autoDestroy?: boolean;
    fromTexture?: DOMTexture | MediaTexture | Texture;
    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

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.

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.