dslreports logo
site
 
    All Forums Hot Topics Gallery
spc

spacer




how-to block ads


Search Topic:
share rss forum feed


Bach
Premium
join:2002-02-16
Flint, MI
reply to me1212

Re: OpenGL ellipses with GL_TRIANGLE_FAN? Anyone know about them

Use a different value for "radius" in the calculation of the x and y coordinate, e.g. "1.5f * radius" for the x value and leave the y as is.

me1212

join:2008-11-20
Pleasant Hill, MO

1 edit
Thank you so much, that worked! I have one more thing I've been wondering though, how would I go about placing the circle inside of the ellipse? I tried having it draw the ellipse then circle right after each other, called the drawEllipse function the immediately after that was done I called the drawCircle function, but that just made HAL9000 show up on my screen. I used black for the ellipse and red for the circle.


Bach
Premium
join:2002-02-16
Flint, MI
Since you are drawing in 2D, all objects have the same Z value. OpenGL still does depth checking even though everything is at the same depth. Consequently the larger ellipse has already drawn in the affected area and the circle gets ignored.

A couple ways to get around this:

1. Draw the smaller object (circle) first, then the ellipse.

or 2. Call glDepthFunc(GL_LEQUAL); once before you start any drawing. This will allow pixels at the same depth to be overwritten.

me1212

join:2008-11-20
Pleasant Hill, MO

1 edit
Never mind, I'm a derp who accidentally called swapbuffers after each function and that made it not work right.


Bach
Premium
join:2002-02-16
Flint, MI
Yeah, I'm a derp as well in the mis-advice I gave on the Z buffer.

My test program had GL_DEPTH_TEST enabled, which is probably not the case in your program since it defaults to off.

me1212

join:2008-11-20
Pleasant Hill, MO
Its all good man, having the glDepthFunc(GL_LEQUAL); still in my program doesn't seem to be making a difference, plus now I know how to use it. I'm sure it will come in handy down the road.