„Számítógépes grafika házi feladat tutorial” változatai közötti eltérés
2d rajzolás részt újraírtam. |
|||
| 103. sor: | 103. sor: | ||
#define CIRCLE_RESOLUTION 32 | #define CIRCLE_RESOLUTION 32 | ||
// Piros kor, a kepernyo bal oldalan | |||
glBegin(GL_TRIANGLE_FAN); { | |||
float radius = 0.25f, center_x = -0.5f, center_y = 0.4f; | |||
glColor3f(1.0f, 0.0f, 0.0f); | |||
glVertex2f(center_x, center_y); | |||
for(int i = 0; i <= CIRCLE_RESOLUTION; i++) { | |||
float angle = float(i) / CIRCLE_RESOLUTION * 2.0f * M_PI; | |||
// Itt a kor paramtetrikus alakjat hasznaljuk: x = x0 + r*cos(t), y = y0 + r * sin(t) | |||
glVertex2f(center_x + radius*cos(angle), center_y + radius*sin(angle)); | |||
} | |||
} glEnd(); | |||
// Szinatmenetes kor, a kepernyo jobb oldalan | |||
glBegin(GL_TRIANGLE_FAN); { | |||
float radius = 0.25f, center_x = 0.5f, center_y = 0.4f; | |||
glColor3f(0.0f, 1.0f, 1.0f); | |||
glVertex2f(center_x, center_y); | |||
for(int i = 0; i <= CIRCLE_RESOLUTION; i++) { | |||
float angle = float(i) / CIRCLE_RESOLUTION * 2.0f * M_PI; | |||
glColor3f(0.0f, 0.5f + 0.5f*cos(angle), 0.5f + 0.5f*sin(angle)); | |||
glVertex2f(center_x + radius*cos(angle), center_y + radius*sin(angle)); | |||
} | |||
} glEnd(); | |||
// Felkoriv | |||
glBegin(GL_LINE_STRIP); { | |||
float radius = 0.75f, center_x = 0.0f, center_y = 0.0f; | |||
glColor3f(1.0f, 1.0f, 1.0f); | |||
for(int i = CIRCLE_RESOLUTION/2; i <= CIRCLE_RESOLUTION; i++) { | |||
float angle = float(i) / CIRCLE_RESOLUTION * 2.0f * M_PI; | |||
glVertex2f(center_x + radius*cos(angle), center_y + radius*sin(angle)); | |||
} | |||
} glEnd(); | |||
</pre> | </pre> | ||