PDA

View Full Version : Displaying Triangle Outlines



joat
11-15-2000, 07:17 PM
I'd like to implement something similar to the Q2/Q3 r_showtris command, where you can see a white outline around each triangle.

I've been able to get a similar effect using glPolygonMode and rendering each frame twice, once with GL_FILL and once with GL_LINE, but this requires an if for every texture bind, glColor, etc... to make sure the tri outlines are white and untextured.

Is there any cleaner way (ie. minimal additional logic during the main render) to do this? How does Q2/Q3 do it?

Don't Disturb
11-16-2000, 06:55 AM
You can just do glDisable(GL_TEXTURE_2D) so that you don't have to worry about the texturing commands, but there isn't anything similar to prevent changing the colour.

Michael Steinberg
11-16-2000, 07:47 AM
Then, don't use one function like
draw(bool wire)
but use two like

draw_filled();
draw_wire();

draw wire then will assure that it only draws untextured, unlit faces. BTW: The PolygonMode is very uneffective, since it will draw any line in any closed mesh twice.

joat
11-17-2000, 08:02 AM
I dumped a GL log of Q3, and it draws *everything* using CVA's, including the GUI. This makes the problem much easier as you can just do this:



load verts
enable vert pointer
lock verts
load colors
load tex coords
enable color pointer
enable texture pointer
render arrays
if wire then
disable color pointer
disable texture pointer
switch to line rendering
render arrays
end

spin, dry, repeat... for each mesh/gui window


Simple, clean, and fast. Carmack is cool http://www.opengl.org/discussion_boards/ubb/cool.gif.

[This message has been edited by joat (edited 11-17-2000).]

[This message has been edited by joat (edited 11-17-2000).]