Skip to main content

Abstract Class: RenderPipeline

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:74

A compiled and linked shader program

Extends

Constructors

Constructor

new RenderPipeline(device, props): RenderPipeline

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:111

Parameters

device

Device

props

RenderPipelineProps

Returns

RenderPipeline

Overrides

Resource.constructor

Properties

bufferLayout

readonly bufferLayout: BufferLayout[]

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:85

Buffer map describing buffer interleaving etc


destroyed

destroyed: boolean = false

Defined in: modules/core/src/adapter/resources/resource.ts:131

Whether this resource has been destroyed

Inherited from

Resource.destroyed


device

abstract readonly device: Device

Defined in: modules/core/src/adapter/resources/resource.ts:124

The device that this resource is associated with

Inherited from

Resource.device


fs

abstract readonly fs: Shader | null

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:80


handle

abstract readonly handle: unknown

Defined in: modules/core/src/adapter/resources/resource.ts:126

The handle for the underlying resource, e.g. WebGL object or WebGPU handle

Inherited from

Resource.handle


hash

hash: string = ''

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:89

The hash of the pipeline


id

id: string

Defined in: modules/core/src/adapter/resources/resource.ts:118

props.id, for debugging.

Inherited from

Resource.id


linkStatus

linkStatus: "error" | "pending" | "success" = 'pending'

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:87

The linking status of the pipeline. 'pending' if linking is asynchronous, and on production


props

readonly props: Required<Props>

Defined in: modules/core/src/adapter/resources/resource.ts:120

The props that this resource was created with

Inherited from

Resource.props


shaderLayout

shaderLayout: ShaderLayout

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:83

The merged layout


sharedRenderPipeline

sharedRenderPipeline: SharedRenderPipeline | null = null

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:91

Optional shared backend implementation


userData

readonly userData: Record<string, unknown> = {}

Defined in: modules/core/src/adapter/resources/resource.ts:122

User data object, reserved for the application

Inherited from

Resource.userData


vs

abstract readonly vs: Shader

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:79


defaultProps

static defaultProps: Required<RenderPipelineProps>

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:158

Default properties for resource

Overrides

Resource.defaultProps

Accessors

[toStringTag]

Get Signature

get [toStringTag](): string

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:75

Returns

string

Overrides

Resource.[toStringTag]


isErrored

Get Signature

get isErrored(): boolean

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:103

Whether shader or pipeline compilation/linking has failed

Returns

boolean


isHandleBorrowed

Get Signature

get isHandleBorrowed(): boolean

Defined in: modules/core/src/adapter/resources/resource.ts:147

Whether luma.gl may only reference the opaque externally owned resource handle.

Returns

boolean

Inherited from

Resource.isHandleBorrowed


isPending

Get Signature

get isPending(): boolean

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:94

Whether shader or pipeline compilation/linking is still in progress

Returns

boolean


ownsHandle

Get Signature

get ownsHandle(): boolean

Defined in: modules/core/src/adapter/resources/resource.ts:140

Whether luma.gl created and owns the underlying resource handle.

Returns

boolean

Inherited from

Resource.ownsHandle

Methods

attachResource()

attachResource(resource): void

Defined in: modules/core/src/adapter/resources/resource.ts:200

Attaches a resource. Attached resources are auto destroyed when this resource is destroyed Called automatically when sub resources are auto created but can be called by application

Parameters

resource

Resource<ResourceProps>

Returns

void

Inherited from

Resource.attachResource


delete()

delete(): this

Defined in: modules/core/src/adapter/resources/resource.ts:181

Returns

this

Deprecated

Use destroy()

Inherited from

Resource.delete


destroy()

destroy(): void

Defined in: modules/core/src/adapter/resources/resource.ts:173

destroy can be called on any resource to release it before it is garbage collected.

Returns

void

Inherited from

Resource.destroy


destroyAttachedResource()

destroyAttachedResource(resource): void

Defined in: modules/core/src/adapter/resources/resource.ts:214

Destroys a resource (only if owned), and removes from the owned (auto-destroy) list for this resource.

Parameters

resource

Resource<ResourceProps>

Returns

void

Inherited from

Resource.destroyAttachedResource


destroyAttachedResources()

destroyAttachedResources(): void

Defined in: modules/core/src/adapter/resources/resource.ts:221

Destroy all owned resources. Make sure the resources are no longer needed before calling.

Returns

void

Inherited from

Resource.destroyAttachedResources


detachResource()

detachResource(resource): void

Defined in: modules/core/src/adapter/resources/resource.ts:207

Detach an attached resource. The resource will no longer be auto-destroyed when this resource is destroyed.

Parameters

resource

Resource<ResourceProps>

Returns

void

Inherited from

Resource.detachResource


draw()

abstract draw(options): boolean

Defined in: modules/core/src/adapter/resources/render-pipeline.ts:122

Parameters

options
_bindGroupCacheKeys?

Partial<Record<number, object>>

Optional stable cache keys for backend bind-group reuse

baseVertex?

number

bindGroups?

Partial<Record<number, Bindings>>

Deprecated

Set bindings on RenderPass instead.

bindings?

Bindings

Deprecated

Set bindings on RenderPass instead.

firstIndex?

number

First index to draw from

firstInstance?

number

First instance to draw from

firstVertex?

number

First vertex to draw from

indexCount?

number

Number of "rows" in index buffer

instanceCount?

number

Number of "rows" in 'instance' buffers

isInstanced?

boolean

Use instanced rendering?

parameters?

RenderPipelineParameters

Parameters to be set during draw call. Note that most parameters can only be overridden in WebGL.

renderPass?

RenderPass

Render pass to draw into (targeting screen or framebuffer)

topology?

PrimitiveTopology

Topology. Note can only be overridden in WebGL.

transformFeedback?

TransformFeedback

Transform feedback. WebGL only.

uniforms?

Record<string, unknown>

WebGL-only uniforms

vertexArray

VertexArray

vertex attributes

vertexCount?

number

Number of "rows" in 'vertex' buffers

Returns

boolean

Deprecated

Use RenderPass.setPipeline(), setBindings(), setVertexArray(), and draw(). Will be removed in the next major release.


getProps()

getProps(): object

Defined in: modules/core/src/adapter/resources/resource.ts:190

Combines a map of user props and default props, only including props from defaultProps

Returns

object

returns a map of overridden default props

Inherited from

Resource.getProps


toJSON()

toJSON(): string

Defined in: modules/core/src/adapter/resources/resource.ts:113

Compact serialization for assertion diffs and structured debug logs.

Returns

string

Inherited from

Resource.toJSON


toString()

toString(): string

Defined in: modules/core/src/adapter/resources/resource.ts:108

Returns

string

Inherited from

Resource.toString