BJS-PR-Bounty-Pool
BJS-PR-Bounty-Pool copied to clipboard
[Open RFP] ( $500 ) - Upgrade rendering tech to support reusing frame buffer for improvements to things like refraction
You will have to create a helper function to copy the current framebuffer into a texture (this will have to work in WebGPU too!).
In addition, a new class simplifying the copying of opaque objects should be designed. It will have to register on the RenderingGroup.onBeforeTransparentRendering
observable to copy the current framebuffer into a texture that will be available to the user.
This class will probably need to be configured with some image processing post processes, as requested by the user (details will be discussed at implementation time).
To facilitate the use of this texture as a refraction texture for standard / PBR materials, you will add a global scene.refractionTexture property (in the same way we have scene.environmentTexture for the case of reflection) which will be used by default by the materials if no specific refraction texture has been defined at the material level.
A visualization test and according doc should be added to the framework.