[Ogre] Fix volume rendering pepper artifacts.
Summary
Some rendering artifacts occur when doing volume rendering with the ogre renderer. They typically appear as black pixels in the rendered image.
These are caused by the proxy geometry when two adjacent brick faces have the exact same depth on their mutual edge.
The entry point compositor then only sets an exit depth for those points and leaves the entry depth equal to the near depth (i.e. 0 in OpenGL NDC). Instead the entry and exit depth should be equal.
Steps to reproduce
- Run OgreViewer
- Load any image
Dev environment
Any.
Possible fixes
I tried changing the depth test comparison to LESS_EQUAL
but ended up having the same problem on inner faces.
I see two possible solutions :
- Modify the entry points algorithm to handle this case better.
- Modify the grid proxy geometry so that adjacent faces never render at the same depth.