Description
A post-processing effects consists of a number of passes, each of which consists of a number of commands and a number of shaders. In the legacy GL path, this is implemented in
QSSGLayerRenderData::applyLayerPostEffects()
-> QSSGEffectSystem::renderEffect()
-> QSSGEffectSystem::doRenderEffect()
This needs to be ported/re-implemented for RHI.
Major TODOs:
- Support more than 1 effect [DONE]
- Support texture properties [DONE]
- Support more than 1 shader (i.e. both vertex & fragment) [DONE]
- Support output to & input from buffer [DONE]
- Support more than 1 pass [DONE]
- Support depth/stencil buffer [DONE]
- Optimize: fix caching of generated & compiled shaders [later]
- Fix MVP for vulkan [DONE]
- Fix buffer format & filters [DONE]
- Add lancelot test scenes [DONE]
Attachments
Issue Links
- is required for
-
QTBUG-82247 Quick3D postprocessing effects with RHI
- Closed
For Gerrit Dashboard: QTBUG-82550 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
292805,5 | RHI: Add rudimentary support for post-processing effects | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
294789,4 | RHI: support effects using BufferInput with param | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
294808,3 | RHI: support effects using ApplyValue | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
295087,3 | RHI: Add support for depth texture in post-processing effects | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
295584,4 | RHI: use correct format for effect buffers | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
295743,8 | RHI: add support for Buffer.SceneLifetime | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
295967,2 | RHI: effects buffer refactor | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |