Open devmiyax opened 9 years ago
On desktop you can use a texture barrier like this: https://github.com/PCSX2/pcsx2/commit/c5341a27113b9627cb36bbe6fb9ff62579564055 https://github.com/PCSX2/pcsx2/pull/688/files https://github.com/PCSX2/pcsx2/pull/672/files https://github.com/PCSX2/pcsx2/commit/839003467e4193e66e74857816fa910a536f7088 https://www.opengl.org/registry/specs/ARB/texture_barrier.txt https://www.opengl.org/registry/specs/NV/texture_barrier.txt https://www.khronos.org/registry/gles/extensions/EXT/EXT_shader_framebuffer_fetch.txt https://www.khronos.org/registry/gles/extensions/ARM/ARM_shader_framebuffer_fetch.txt https://www.khronos.org/registry/gles/extensions/ARM/ARM_shader_framebuffer_fetch_depth_stencil.txt https://github.com/PCSX2/pcsx2/commit/5565544ba625bc11c474f7b8a07207631ae73682 https://github.com/PCSX2/pcsx2/pull/533/files https://github.com/PCSX2/pcsx2/commit/3d35e4f8ecef17fed9fa765006b7d74b442baca5 https://github.com/PCSX2/pcsx2/commit/b89f0cfa4cff5a94fa1bf583ec3d3fb3bfc5af4e https://github.com/PCSX2/pcsx2/commit/380e420cdde46dcc016ece0613645f728a9ff71c https://github.com/PCSX2/pcsx2/commit/11708486d8786a18b5c8986ced2790ac7d4cef3e https://github.com/PCSX2/pcsx2/pull/688/files https://github.com/PCSX2/pcsx2/pull/1115/files https://github.com/PCSX2/pcsx2/pull/533/files https://github.com/Yabause/yabause/commit/46bd80bd8f076f4e60cf86d18e8a5f259e962f07 https://github.com/Yabause/yabause/pull/22/files https://github.com/Yabause/yabause/commit/b307da5386fd73950f1acb5c5824fb8c89e49e00 https://github.com/Yabause/yabause/commit/c6ffab78439de82e80cf1298b0747440c8f2a364 https://github.com/Yabause/yabause/commit/f04d3c5fcdf038e70848e0bac6140911d977fab4 @devmiyax
https://www.opengl.org/registry/specs/ARB/texture_barrier.txt https://www.khronos.org/registry/gles/extensions/ARM/ARM_shader_framebuffer_fetch_depth_stencil.txt
Wow! That's exactly what I'm looking for! Thanx.
@devmiyax https://developer.nvidia.com/content/maxwell-gm204-opengl-extensions http://blog.icare3d.org/2014/09/maxwell-gm204-opengl-extensions.html http://www.g-truc.net/doc/Candidate%20features%20for%20OpenGL%205.pdf http://www.openglsuperbible.com/2013/08/20/is-order-independent-transparency-really-necessary/ http://www.g-truc.net/doc/OpenGL%204.4%20review.pdf http://www.g-truc.net/doc/OpenGL%204%20Hardware%20Matrix.pdf https://forum.beyond3d.com/threads/many-draw-calls-with-pulling-bindless-multidrawindirect-etc.55220/ http://timothylottes.blogspot.com/2014/06/bindless-and-descriptors.html http://www.slideshare.net/Mark_Kilgard/opengl-45-update-for-nvidia-gpus
http://timothylottes.blogspot.com/2014/09/maxwell-2-extensions.html https://twitter.com/michaldrobot/status/513100190228942848 http://on-demand.gputechconf.com/gtc/2014/presentations/S4385-order-independent-transparency-opengl.pdf http://gamedev.stackexchange.com/questions/43635/what-is-the-order-less-rendering-technique-that-allows-partial-transparency https://cesiumjs.org/2014/03/14/Weighted-Blended-Order-Independent-Transparency/ http://www.jzy3d.org/documentation/DualDepthPeeling.pdf http://mmmovania.blogspot.com/2010/11/order-independent-transparency-dual.html http://luebke.us/publications/StochasticTransparency_I3D2010.pdf http://blog.bonzaisoftware.com/stochastic-order-independent-transparency/ @devmiyax
@devmiyax I believe this extension can be used for more advanced programmable blending.
https://www.opengl.org/registry/specs/ARB/fragment_shader_interlock.txt https://developer.nvidia.com/sites/default/files/akamai/opengl/specs/GL_NV_fragment_shader_interlock.txt https://www.opengl.org/registry/specs/INTEL/fragment_shader_ordering.txt https://www.opengl.org/registry/specs/ARB/shader_atomic_counters.txt https://www.khronos.org/registry/gles/extensions/OES/OES_shader_image_atomic.txt
Currently it's using a texture attached by target FBO for programmable alpha blending. it doesn't work at Adreno 320.
When a target device can use EXT_shader_framebuffer_fetch, it should be used.