PDA

View Full Version : Thick Outlines



ggibaut
08-07-2007, 01:45 PM
Im trying to draw 2D figures with a thick outline.

I tried to draw them with PolygonOffset and also with the Stencil buffer, but as the outline gets thicker it looses its smoothness and starts to look as a sequence of rectangles.

Is there any other method to draw 2D figures with a thick outline?

Thanks in advance

Gabriel

Relic
08-08-2007, 06:56 AM
Yes. Couldn't resist. ;)

You could render the outline as QuadStrip generating a mitered wide line, but you need to be very careful about the vertex placements in that strip.

Here's a really nice but advanced method:
http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/4884/pdf/imm4884.pdf

Jon723
08-09-2007, 06:59 AM
Another option is to use the stencil buffer to render an outline and them blur the outline a little to make it thicker. This is probably a slower than the previous method mentioned but it was the first alternative I could think of.

ggibaut
08-10-2007, 01:52 PM
Thanks for the responses, but they seem far ahead of my possibilities (im a newbie by all means).

With glPolygonOffset I drew the outline first and the solid polygon last and it worked ok (except that i had the problem described in my previous post)

Now im trying to draw the polygon with glPolygonOffset twice. First with some offset to make it bigger, and then as is.

But no matter what i pass to glPolygonOffset, I cannot make the bigger polygon appear.

Im trying something like this:

glEnable(GL_POLYGON_OFFSET_FILL);
glEnable(GL_DEPTH_TEST);
glDisable(GL_CULL_FACE);

glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glPolygonOffset(//any value, //any value);

//draw blue bigger polygon

glDisable(GL_POLYGON_OFFSET_FILL);
glDisable(GL_DEPTH_TEST);

//draw red polygon

Thanks

Gabriel