playcanvas / playcanvas/engine

Implement a solution for regenerating content of dynamic resources when the context is lost

Open
#3,312 2 comments 0 reactions 1 assignee View on GitHub

@mvaligursky is already working on this.

Since Jul 8, 2021.

area: graphics enhancement
Dominant language
JavaScript
Stars
16.8k
Forks
2k
Avg merge
4h 32m
Merged PRs (30d)
222

Description

When a webgl context is lost, dynamically generated resources are invalidated and their content is lost. Examples:

  • content of render target textures (this includes runtime lightmaps, area light LUTs, one time rendered shadow maps ..)
  • content of dynamically generated VBs and IBs (instanced geometry VB, many others)

Ideally we should have a solution allowing this to be handled - either by the engine internally if possible (if a cpu storage of the data exists, which it does for VB/IB), or by exposing some events for the user to regenerate their data.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.