How can we do, do make a vizualisation with the elimination of the hidden parties (Borders of polygons) when le mode of glPolygonMode is GL_LINE ?
You mean you want to draw in GL_LINE but also have OpenGL only draw front facing polygon edges, i.e. backface culling. So the object is not see through?
Yes, I want to see only the polygon edges with the backface culling ! is there a possibility ?
Actually I use a wrong code :
in glPolygoneMode … GL_FILL,
I draw GL_QUADS and I draw over the 4 GL_LINES… I think that very a bad code !
Don’t know, I have wondered this, you could bodeg it by drawing the polygons in white (if that is your background colour) and the drawing them again with GL_LINE in black sorta thing.
Yes, that I do. I haved try to use glClear GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT with the glpolygoneMode GL_LINE but any result (Maybe I mak error !)
what about this idea:
- set poly-mode to GL_FILL
- set depth-func to less or equal
- disable color-writing and ONLY enable depth-writing (this is possible, isn’t it? if not, just draw the whole scene in black)
- draw the whole scene
- change the poly-mode to GL_LINE
- set depth func to equal
- renenable color-writing and disable depth-writing
- set the color to white for a nice wireframe
- draw the scene again
that should work, but u have to draw the scene twice
Originally posted by Tron:
[b]what about this idea:
- set poly-mode to GL_FILL
- set depth-func to less or equal
- disable color-writing and ONLY enable depth-writing (this is possible, isn’t it? if not, just draw the whole scene in black)
- draw the whole scene
- change the poly-mode to GL_LINE
- set depth func to equal
- renenable color-writing and disable depth-writing
- set the color to white for a nice wireframe
- draw the scene again
that should work, but u have to draw the scene twice[/b]
For the point 2 : glDepthFunc cfLess Or cfEqual
but what the point 3 ?
Thanks
N.
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
this should deactivate writing to the colorbuffer.
glDepthMask(GL_FALSE);
this deactivates depth writing.
complete code would be:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 0 (;
glPolygonMode(GL_FILL); // 1
glDepthFunc(GL_LEQUAL); // 2
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); // 3
glDepthMask(GL_TRUE); // 3
DrawTheScene(); // 4, all the things you want to draw
glPolygonMode(GL_LINE); // 5
glDepthFunc(GL_EQUAL); // 6
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); // 7
glDepthMask(GL_FALSE); // 7
glColor3f(1.0f, 1.0f, 1.0f); // 8, and of course deactive all color arrays, textures etc.
DrawTheScene(); // 9, all the things you want to draw
[This message has been edited by Tron (edited 10-25-2001).]