[Mono-bugs] [Bug 662079] New: OpenGL Depth Buffer is always off
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Mon Jan 3 11:54:53 EST 2011
https://bugzilla.novell.com/show_bug.cgi?id=662079
https://bugzilla.novell.com/show_bug.cgi?id=662079#c0
Summary: OpenGL Depth Buffer is always off
Classification: Mono
Product: MonoDroid
Version: SVN
Platform: Other
OS/Version: Other
Status: NEW
Severity: Major
Priority: P5 - None
Component: Class Libraries
AssignedTo: mkestner at novell.com
ReportedBy: Benjamin at exDream.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13)
Gecko/20101203 AskTbMYC-ST/3.9.1.14019 Firefox/3.6.13
Tested in Preview 7, 8, 9, and 10. They all have the problem that the
CreateFramebuffer method does not use a GraphicsMode with DepthBuffer on, but
even if we write our own CreateFramebuffer and use a own GraphicsMode, it is
totally ignored in the AndroidGraphicsContext constructor.
There it only sets new int[] { 0x3038 }; (ES1.1) or new int[] { 0x3040, num,
0x3038 }; (ES 2.0), which both do not have the Depth Buffer flag set (0x3038 is
just the end flag and 0x3040 is the ES20 flag).
Without this no depth buffer works on devices that will return a context
without depth buffer (all of our devices we have tested). This is also easy to
test with any OpenGL Sample (GLCube, TexturedCube) from MonoDroid if you just
disable culling (for a cube with culling you don't need depth buffer, so you
will never notice it is missing, but with culling off you can clearly see the
missing depth buffer):
//GL.Enable (All.CullFace);
//GL.CullFace (All.Back);
GL.Disable(All.CullFace);
Reproducible: Always
Steps to Reproduce:
1. Try to use Depth Buffer
2. Does not work, not even overwriting CreateFramebuffer helps
3. because the problem is in the AndroidGraphicsContext method
Actual Results:
All depth buffer testing fails on devices that return a non-depth buffer
framebuffer.
Expected Results:
Depth Buffer should work, without it 3D OpenGL rendering is kinda useless.
We are trying to fix this on our own for now by providing our own
CreateFrameBuffer, GraphicsMode and AndroidGraphicContext classes and correctly
implementing all the flags. If you are interested in our solution, I can post
it once we have it working.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list