Dörti.Hermi
Erfahrenes Mitglied
Hallo Leute,
folgendes Problem: Ich zeichne mit c++ und OpenGL (GLUT) einen Seestern. Erstellt wird die Figur auf der Basis eines Kreises, bei dem dann der Radius abhängig vom derzeitigen Winkel ist.
ECKENZAHL ist eine Konstante mit Wert 200, also besteht ein Kreis aus 200 Punkten. rphi ist der winkelabhängige Radius.
Nun passiert folgendes: wird vorher glPolygonMode auf "GL_LINE" gesetzt, zeichnet er einen tadellosen Seestern mit 5 Armen. siehe 1. Bild.
wird glPolygonMode aber auf "GL_FILL" gesetzt, so zeichnet er den Seestern zwar flächig, dafür aber unförmig und nicht regelmäßig. siehe 2. Bild
Was ist hier los? Ist das ein Bug von OpenGL?
Schon mal Danke für die Antworten.
Lg Andi
folgendes Problem: Ich zeichne mit c++ und OpenGL (GLUT) einen Seestern. Erstellt wird die Figur auf der Basis eines Kreises, bei dem dann der Radius abhängig vom derzeitigen Winkel ist.
Code:
glBegin (GL_POLYGON);
for (i = 0; i < ECKENZAHL; i ++)
{
phi = 2 * PI * i / (float) ECKENZAHL;
rphi = r * sin (phi * 5); // 5 --> 5 Arme vom Seestern
x = rphi * cos (phi) + m->get_x();
y = rphi * sin (phi) + m->get_y();
glVertex2f (x, y);
}
glEnd ();
ECKENZAHL ist eine Konstante mit Wert 200, also besteht ein Kreis aus 200 Punkten. rphi ist der winkelabhängige Radius.
Nun passiert folgendes: wird vorher glPolygonMode auf "GL_LINE" gesetzt, zeichnet er einen tadellosen Seestern mit 5 Armen. siehe 1. Bild.
wird glPolygonMode aber auf "GL_FILL" gesetzt, so zeichnet er den Seestern zwar flächig, dafür aber unförmig und nicht regelmäßig. siehe 2. Bild
Was ist hier los? Ist das ein Bug von OpenGL?
Schon mal Danke für die Antworten.
Lg Andi