Some kind of a depth buffer regression from 114

Description of the problem

I’ve submitted a depth peel example a while back: #15312
This example depends on this proposal #15490

So i’m not sure if this counts as a regression since i don’t have a meaningful case without using this proposal, but i’d like to point it out regardless, and inquire about what work happened in this area.

This demo runs on r98 and the proposal and everything runs fine. Up to r113 i can apply this diff and get the same behavior:


When bumping to R114, the framerate remains, but i get some depth artifacts:

In the dev branch, my frame rate drops tremendously, and i’ve oddly traced it down to an ordinary render call that happens after all this crazy depth peeling logic, and before the results are shown on the screen. I can actually even render the results with no frame drop, its just when i try to render a partial normal scene in the process, it really goes down.


Ie. this is caused by

function complexRenderLogic (){
  // gl stencil stuff
  // gl mask stuff
  // scene overrides
  // many renderer.render( X, Y )
  // many renderer.setRenderTarget( foo )

function displayResult(){
  renderer.render( full_screen_quad_scene, camera)

function render(){
  renderer.render( scene, camera ) // <----- FRAME RATE DROP`

Please let me know if additional information is needed. I could serve the demo with r113, r114 and dev. If this is of no interest since it’s appearing in something thats using a proposal, i’d appreciate it if you could point me in some direction where some recent changes could have affected this. Thank you.

Three.js version
  • Dev
  • r116
  • r115
  • r114
  • All of them
  • Chrome
  • Firefox
  • Internet Explorer
  • All of them
  • Windows
  • macOS
  • Linux
  • Android
  • iOS

1 possible answer(s) on “Some kind of a depth buffer regression from 114