Request: Support for dynamically scalable effect resolution
See original GitHub issueHello! Great work on the effects.
It would be great to support dynamically scalable effect resolution for some of the more intensive effects or at least a fixed effect scale on instantiation. SSAO, for example, can be a bit expensive depending on how many samples you want to use but this can be improved by rendering it at half or quarter resolution. A depth / normal aware upscale might be needed afterward to remove some artifacts depending on the effect.
To explain a bit more in my application I iteratively increase / decrease the resolution of or enable / disable the effects based on the measured framerate of the web app. So if the application is running slowly we might lower the resolution scale of the SSAO or boom effects or even disable them until the framerate reaches an acceptable threshold. And inversely if we have some extra frame time we’ll enable or improve effect quality until we see frame dips.
Here’s something like I’m imagining:
bloomEffect = new BloomEffect();
composer.addPass(new RenderPass(scene, camera));
composer.addPass(new EffectPass(camera, bloomEffect));
// ...
bloomEffect.resolutionScale = 0.5;
Thanks again for the awesome work!
Issue Analytics
- State:
- Created 3 years ago
- Comments:13 (9 by maintainers)
Top GitHub Comments
Added a
resolution
setting toSSAOEffect
inpostprocessing@6.14.0
.Cool stuff, thanks for sharing! Haven’t heard of GTAO before.