gpu-curtains
    Preparing search index...

    Interface RenderMaterialParams

    Parameters used to create a RenderMaterial.

    interface RenderMaterialParams {
        uniforms?: ReadOnlyInputBindings;
        storages?: ReadWriteInputBindings;
        bindings?: BindGroupBindingElement[];
        label?: string;
        shaders?: MaterialShaders;
        useAsyncPipeline?: boolean;
        bindGroups?: BindGroup[];
        samplers?: Sampler[];
        textures?: MaterialTexture[];
        useProjection?: boolean;
        transparent?: boolean;
        depth?: boolean;
        depthWriteEnabled?: boolean;
        depthCompare?: GPUCompareFunction;
        depthFormat?: GPUTextureFormat;
        depthBias?: number;
        depthBiasClamp?: number;
        depthBiasSlopeScale?: number;
        stencil?: {
            front: GPUStencilFaceState;
            back?: GPUStencilFaceState;
            stencilReference?: number;
            stencilReadMask?: number;
            stencilWriteMask?: number;
        };
        sampleCount?: number;
        alphaToCoverageEnabled?: boolean;
        mask?: number;
        cullMode?: GPUCullMode;
        unclippedDepth?: boolean;
        verticesOrder?: GPUFrontFace;
        topology?: GPUPrimitiveTopology;
        targets?: Partial<GPUColorTargetState>[];
    }

    Hierarchy (View Summary)

    Index

    Properties

    Uniforms input to pass to a BindGroup.

    Read only or read/write storages input to pass to a BindGroup.

    Array of already created bindings (buffers, texture, etc.) to pass to this BindGroup.

    label?: string

    The label of the Material, sent to various GPU objects for debugging purpose.

    shaders?: MaterialShaders

    Shaders to use with this Material.

    useAsyncPipeline?: boolean

    Whether to compile the Material GPURenderPipeline or GPUComputePipeline asynchronously or not.

    bindGroups?: BindGroup[]

    Array of already created bind groups to be used by this Material.

    samplers?: Sampler[]

    Array of already created samplers to be used by this Material.

    textures?: MaterialTexture[]

    Array of already created Texture or MediaTexture to be used by this Material.

    useProjection?: boolean

    Whether this RenderMaterial should implicitly use the renderer camera and lights bind group.

    transparent?: boolean

    Whether this RenderMaterial should be treated as transparent. Impacts the render pipeline blend property.

    depth?: boolean

    Whether this RenderMaterial should write to the depth buffer.

    depthWriteEnabled?: boolean

    Whether this RenderMaterial should enable depth write.

    depthCompare?: GPUCompareFunction

    Depth function to use with this RenderMaterial.

    depthFormat?: GPUTextureFormat

    Format of the depth texture to use with this RenderMateria.l

    depthBias?: number

    A number representing a constant depth bias that is added to each fragment. Default to 0.

    depthBiasClamp?: number

    A number representing the maximum depth bias of a fragment. Default to 0.

    depthBiasSlopeScale?: number

    A number representing a depth bias that scales with the fragment's slope. Default to 0.

    stencil?: {
        front: GPUStencilFaceState;
        back?: GPUStencilFaceState;
        stencilReference?: number;
        stencilReadMask?: number;
        stencilWriteMask?: number;
    }

    Define the stencil operations to use if any.

    Type Declaration

    • front: GPUStencilFaceState

      Defines how stencil comparisons and operations are performed for front-facing primitives.

    • Optionalback?: GPUStencilFaceState

      Defines how stencil comparisons and operations are performed for back-facing primitives. If undefined, will fall back to front values.

    • OptionalstencilReference?: number

      Set the GPURenderPassEncoder stencil reference value used during stencil tests if any. Default to 0x000000 if a stencil is used.

    • OptionalstencilReadMask?: number

      A bitmask controlling which stencil value bits are read when performing stencil comparison tests. Default to 0xFFFFFF.

    • OptionalstencilWriteMask?: number

      A bitmask controlling which stencil value bits are written to when performing stencil comparison tests. Default to 0xFFFFFF.

    sampleCount?: number

    The sampleCount of the RenderPass onto which we'll be drawing. Set internally.

    alphaToCoverageEnabled?: boolean

    When true indicates that a fragment's alpha channel should be used to generate a sample coverage mask. Default to false.

    mask?: number

    Mask determining which samples are written to. Default to 0xFFFFFFFF.

    cullMode?: GPUCullMode

    Cull mode to use with this RenderMaterial.

    unclippedDepth?: boolean

    If true, indicates that depth clipping is disabled. Requires the depth-clip-control feature to be enabled. Default to false.

    verticesOrder?: GPUFrontFace

    Vertices order to be used by the render pipeline.

    topology?: GPUPrimitiveTopology

    Topology to use with this RenderMaterial, i.e. whether to draw triangles or points (see https://www.w3.org/TR/webgpu/#enumdef-gpuprimitivetopology).

    targets?: Partial<GPUColorTargetState>[]

    Optional array of one or multiple targets properties. Format property will be patched internally.