Sign in to follow this  
Numsgil

OpenGL Drawing Mesh

Recommended Posts

I'm trying to draw the mesh ontop of my world objects in OpenGL, but I'm having problems. If I turn on Depth testing, it draws like I want, but the mesh lines are "inside" many of the polygons, resulting in a mesh that fades in and out. If I turn off depth testing, the lines look perfect but I can see through meshes, which obviously gets very confusing very fast. How do I do this?

Share this post


Link to post
Share on other sites
its not 100% clear what u want
eg possible solutions
A/ use various glDepthRanges(..)
B/ clear the depth buffer before u draw the mesh
C/ use polygon offset

Share this post


Link to post
Share on other sites
I'm still somewhat new to OpenGL.

Basically I want to draw the wire mesh on top of the polygons being rendered. If I just draw the wireframe as usual, it gets variously obscured by by the poly mesh, resulting in a dulled wireframe that's not as distinct as I'd like.

Like you can show in a modeller such as Maya.

Share this post


Link to post
Share on other sites
If you're having the same problem that I did, I could draw plain wireframes ok, but if I drew them with a colored solid and then a wireframe, the wireframe wouldn't look right with depth testing on. Try this before you draw your solid version.

glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(1.0, 1.0);

That should take care of your problem. The seeing through the meshes problem you are talking about can be fixed with a call to glEnable(GL_CULL_FACE); Opengl defaults to counter clockwise wound polygons, and will not draw clockwise wound polygons(the back facing ones) with this option enabled. But I'm guessing your overall scene is going to need depth testing on at some point.

Share this post


Link to post
Share on other sites
It's telling opengl that when you draw the filled polygon and it's time to update the depth buffer, that instead of putting the actual depth of the polygon it uses an offset of one more depth unit than it normally would. Then when you just draw the lines for the wireframe which would normally have the same depth values as the filled polygon(but now they don't since you used offset fill) they now appear how they should. Make sure you disable offset fill when your done using it too.

Here's where I originally learned to do it, click here, it's from the Red Book, you should definitely check it out.

[Edited by - Disgruntled Gamer on May 22, 2006 3:58:04 PM]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this