playcanvas / playcanvas/engine

Improvements to CameraFrame.vignette

Open
#8,425 1 comment 1 reaction 1 assignee View on GitHub

@mvaligursky is already working on this.

Since Jan 30, 2026.

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

Description

The current implementation of vignette could to with some improvements:

  • Composite the vignette in HDR. An optical vignette lowers the exposure around the edges, and isn't just composited over the final image. When working with blooming HDR lights, the current implementation produces grey-ish highlights.
  • Implement a circular vignette shape. An optical vignette is circular due to the shape of the lens/aperture. The current implementation is dependent on the aspect ratio of the canvas, which is not how a real vignette works. I do see the artistic value in having a configurable shape, but it should also be able to produce a circle.

Here I've exaggerated the vignette intensity to show the issues. The squares have a material with emissiveIntensity set to 100:

Image

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.