lovr.graphics.getPass

Edit

Creates and returns a temporary Pass object.




Create a compute pass.

Arguments

NameTypeDescription
typePassType The type of pass to create.

Returns

NameTypeDescription
passPass The new Pass.

Create a render pass.

Arguments

NameTypeDescription
typePassType The type of pass to create.
textureTexture The texture the render pass will render to. Ignored for non-render passes.

Returns

NameTypeDescription
passPass The new Pass.

Create a render pass, with options.

Arguments

NameTypeDefaultDescription
typePassType The type of pass to create.
canvastable Render pass configuration. Up to 4 textures can be provided in table keys 1 through 4. Ignored for non-render passes.
.depthtable Depth/stencil buffer configuration. In addition to a table, it can be a Texture, a TextureFormat, or false to disable the depth buffer.
.formatTextureFormat'd32f' The format of the depth buffer texture, which must be a depth format (the ones that start with d). LÖVR will create or reuse an internal depth buffer with this format.
.textureTexture A Texture to use as the depth buffer. Takes precedence over format.
.samplesnumber4 The number of multisamples to use. Can be 4 for antialiasing, or 1 to disable antialiasing.

Returns

NameTypeDescription
passPass The new Pass.

Notes

Fun facts about render passes:

For compute passes, all of the commands in the pass act as though they run in parallel. This means that writing to the same element of a buffer twice, or writing to it and reading from it again is not guaranteed to work properly on all GPUs. If compute or transfers need to be sequenced, multiple passes should be used. It is, however, completely fine to read and write to non-overlapping regions of the same buffer or texture.

See also