Skip to main content

Abstract Class: RenderPass

Defined in: modules/core/src/adapter/resources/render-pass.ts:102

A RenderPass instance is a required parameter to all draw calls.

It holds a combination of

  • render targets (specified via a framebuffer)
  • clear colors, read/write, discard information for the framebuffer attachments
  • a couple of mutable parameters ()

Extends

Extended by

Constructors

Constructor

new RenderPass(device, props, defaultProps?): RenderPass

Defined in: modules/core/src/adapter/resources/render-pass.ts:114

Parameters

device

Device

props

RenderPassProps

defaultProps?

Required<RenderPassProps> = RenderPass.defaultProps

Returns

RenderPass

Overrides

Resource.constructor

Properties

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


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


id

id: string

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

props.id, for debugging.

Inherited from

Resource.id


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


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


defaultClearColor

static defaultClearColor: [number, number, number, number]

Defined in: modules/core/src/adapter/resources/render-pass.ts:104

TODO - should be [0, 0, 0, 0], update once deck.gl tests run clean


defaultClearDepth

static defaultClearDepth: number = 1

Defined in: modules/core/src/adapter/resources/render-pass.ts:106

Depth 1.0 represents the far plance


defaultClearStencil

static defaultClearStencil: number = 0

Defined in: modules/core/src/adapter/resources/render-pass.ts:108

Clears all stencil bits


defaultProps

static defaultProps: Required<RenderPassProps>

Defined in: modules/core/src/adapter/resources/render-pass.ts:177

Default properties for RenderPass

Overrides

Resource.defaultProps

Accessors

[toStringTag]

Get Signature

get [toStringTag](): string

Defined in: modules/core/src/adapter/resources/render-pass.ts:110

Returns

string

Overrides

Resource.[toStringTag]


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


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


beginOcclusionQuery()

abstract beginOcclusionQuery(queryIndex): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:161

Being an occlusion query. Value will be stored in the occlusionQuerySet at the index. Occlusion queries cannot be nested.

Parameters

queryIndex

number

Returns

void


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-pass.ts:145

Issues a draw using the currently selected pipeline, bindings, and vertex array.

Parameters

options

RenderPassDrawOptions

Returns

boolean


drawIndexedIndirect()

abstract drawIndexedIndirect(indirectBuffer, indirectByteOffset?): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:151

Issues an indexed draw using five 32-bit arguments stored in an indirect buffer.

Parameters

indirectBuffer

Buffer

indirectByteOffset?

number

Returns

void


drawIndirect()

abstract drawIndirect(indirectBuffer, indirectByteOffset?): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:148

Issues a non-indexed draw using four uint32 arguments stored in an indirect buffer.

Parameters

indirectBuffer

Buffer

indirectByteOffset?

number

Returns

void


end()

abstract end(): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:124

Call when rendering is done in this pass.

Returns

void


endOcclusionQuery()

abstract endOcclusionQuery(): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:163

End an occlusion query. Stores result in the index specified in beginOcclusionQuery.

Returns

void


executeBundles()

abstract executeBundles(bundles): void

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

Replays reusable draw commands recorded by one or more render bundle encoders.

Parameters

bundles

Iterable<RenderBundle>

Bundles whose attachment formats and sample count are compatible with this pass.

Returns

void

Throws

On backends other than WebGPU.


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


insertDebugMarker()

abstract insertDebugMarker(markerLabel): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:170

Marks a point in a stream of commands with a label

Parameters

markerLabel

string

Returns

void


popDebugGroup()

abstract popDebugGroup(): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:168

Ends the labeled debug group most recently started by pushDebugGroup()

Returns

void


pushDebugGroup()

abstract pushDebugGroup(groupLabel): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:166

Begins a labeled debug group containing subsequent commands

Parameters

groupLabel

string

Returns

void


setBindings()

abstract setBindings(bindings, options?): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:136

Replaces the complete binding set used by subsequent draw commands. A pipeline must be selected first so bindings can be resolved against its shader layout.

Parameters

bindings

Bindings | Partial<Record<number, Bindings>>

options?

RenderPassBindingOptions

Returns

void


setParameters()

abstract setParameters(parameters): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:127

A few parameters can be changed at any time (viewport, scissorRect, blendColor, stencilReference)

Parameters

parameters

RenderPassParameters

Returns

void


setPipeline()

abstract setPipeline(pipeline): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:130

Selects the pipeline used by subsequent binding and draw commands.

Parameters

pipeline

RenderPipeline

Returns

void


setVertexArray()

abstract setVertexArray(vertexArray): void

Defined in: modules/core/src/adapter/resources/render-pass.ts:142

Selects the vertex array used by subsequent draw commands.

Parameters

vertexArray

VertexArray

Returns

void


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