Hi, I’m having a problem with intersecting polygons. The green and red triangles below represent a solid plane. What I would like to do is have the blue triangles stop rendering where they meet the red and green triangles so you can’t see them below the red/green plane. The blue triangles are perpendicular to the red/green plane. I’ve tried every trick I could think of for the z-buffer but nothing I am doing is working. Can someone please point me in the right direction? Below is attached an image of the problem. Thanks!
did you do all of the following:
- choose a pixelformat with depth buffer
- glEnable(GL_DEPTH_TEST)
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
?
I did #2 and #3. How would I go about choosing the pixel format for the depth buffer?
Did you create a rendering context?
Yes I did. I also checked into things like PolygonOffset, Depth fuctions, alpha blending, etc. but to no avail. I’m guessing that the problem has something to do with the z-buffer but I feel I’ve exhausted all of my options. So I’m appealing to you guys.
What
GLint dbb;
glGetIntegerv (GL_DEPTH_BITS, &dbb);
returns in dbb ?
From your image it look like the blue triangles don’t intersect the red-green at all, but are just in from of them. Am I missing something? Maybe you got wrong coordinates? What happen when you render the blue triangles first and the red-green last?
If in your gluPerspective call you have the depth buffer range set unusually large (the last two arguments), that could happen due to unlucky rounding, I think.
Originally posted by Zengar:
From your image it look like the blue triangles don’t intersect the red-green at all, but are just in from of them. Am I missing something? Maybe you got wrong coordinates? What happen when you render the blue triangles first and the red-green last?
Yes, I realize this. I’m able to mouse around and rotate things, so I am completely sure the blue triangles intersect exactly in the middle of the red and green triangles.
As for the gluPerspective, I have the numbers 1.0 and 1000.0 for the last two parameters.