Details
-
Suggestion
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
None
-
2c035073d (dev), 23bc8da4d (dev), d4654a75c (dev), 79da7a082 (dev), 47d3cb47a (dev), 53cb6fe94 (dev), 75796aaf6 (dev), cbc1cc8c9 (dev), 7f361b20a (dev), de4bde0fb (dev), d2fe6619c (dev), e1a86305b (dev), 7d796a391 (6.9)
Description
The current transparency implementation results in some problems when trying to render semi-transparent surfaces with QtGraphs Surface3D.
Some of the issues can be seen in the following videos:
https://qtcompany-my.sharepoint.com/:v:/g/personal/sakaria_pouke_qt_io/EVVP_ys6PzpFux3npEDYLJIBIZut4v1uNp9HigShbpgYWA?e=Ytc6wr
https://qtcompany-my.sharepoint.com/:v:/g/personal/sakaria_pouke_qt_io/EfUlvBKe8j1Cnxm7J6D6yX8Bgh-HVObaMs737HKmgjjOyw?e=uCIevc
Some techniques for doing this can be found here: https://on-demand.gputechconf.com/gtc/2014/presentations/S4385-order-independent-transparency-opengl.pdf
And here's a vulkan implementation of one: https://github.com/nvpro-samples/vk_order_independent_transparency
Attachments
Issue Links
- depends on
-
QTBUG-131336 Hardcoded shader version prevent creating higher level shaders with MULTIVIEW
-
- Reported
-
-
QTBUG-131505 Unable to create multisampled depth-only pipeline
-
- Closed
-
-
QTBUG-130332 Add UAV's for fragment stage for DX11
-
- Reported
-
-
QTBUG-130334 Support per render target blending for OpenGL
-
- Closed
-
Gerrit Reviews
For Gerrit Dashboard: QTBUG-125121 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
574826,4 | Implement linked list oit method | dev | qt/qtquick3d | Status: NEW | 0 | 0 |
574827,5 | Add Order independent transparency API | dev | qt/qtquick3d | Status: NEW | 0 | 0 |
574831,6 | Add memoryBarrier command | dev | qt/qtbase | Status: NEW | 0 | 0 |
574833,6 | Fix image binding point sanity check | dev | qt/qtbase | Status: NEW | 0 | 0 |
590422,3 | Add interlock oit method | dev | qt/qtquick3d | Status: NEW | 0 | 0 |
590423,5 | Add feature for shader invocation interlock | dev | qt/qtbase | Status: NEW | 0 | 0 |
594517,2 | Implement simple list oit method | dev | qt/qtquick3d | Status: NEW | 0 | 0 |
594519,2 | Implement spinlock oit method | dev | qt/qtquick3d | Status: NEW | 0 | 0 |
604498,1 | Implement image binding support | dev | qt/qtquick3d | Status: NEW | 0 | 0 |
604539,1 | Implement image clearing | dev | qt/qtquick3d | Status: NEW | 0 | 0 |
604540,1 | Add OIT Api part 2 | dev | qt/qtquick3d | Status: NEW | 0 | 0 |
562771,17 | Implement WeightedBlended OIT method | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
574830,8 | Add R32UI, RG32UI, RGBA32UI texture format | dev | qt/qtbase | Status: MERGED | +2 | 0 |
590420,9 | Modify particle shader generation for oit | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
590421,9 | Add OIT render context | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
598634,4 | Add unsigned integer texture formats support | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
600818,7 | Add support for per rendertarget blending for Quick3D | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
600839,6 | Implement clearing of MRT | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
600840,14 | Add Order Independent Transparency API | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
604541,17 | Add oit example | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
604641,11 | Add MSAA support to WeightedBlended oit method | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
604826,10 | Implement multiview support for WeightedBlended OIT method | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
609019,4 | Disable OIT when building depth pass shaders | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
618231,2 | Add oit example | 6.9 | qt/qtquick3d | Status: MERGED | +2 | 0 |