playcanvas / playcanvas/engine

Implement improvements to grab pass functionality

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

@mvaligursky is already working on this.

Since Nov 3, 2021.

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

Description

  • call GrabPass.prepareTexture only once per frame. Currently this executes one time for each mesh using the texture, making it expensive (but more correct) when multiple objects us it. We could have a property to switch between those modes.
  • we could consider higher quality blur instead of just generating mipmaps, as those are low resolution and when sampling level higher than 4 or 5, flickering can be an issue. This would require to store all levels in an atlas, or texture array or similar, to have it higher resolution with more blur on each step.
  • considering implementation of the mask to handle refraction of the foreground objects - this would allow us more freedom related to current requirement to sort objects back to front: https://developer.nvidia.com/gpugems/gpugems2/part-ii-shading-lighting-and-shadows/chapter-19-generic-refraction-simulation

This could be useful here: https://github.com/playcanvas/engine/issues/3652

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.