gpu-curtains
    Preparing search index...

    Interface RenderMaterialBaseParams

    Base parameters used to create a RenderMaterial.

    interface RenderMaterialBaseParams {
        uniforms?: ReadOnlyInputBindings;
        storages?: ReadWriteInputBindings;
        bindings?: BindGroupBindingElement[];
        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.

    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.