Skończyłem właśnie dłubać program zadany na ćwiczeniach z OpenGL'a którego zadaniem jest rysowanie określonej wcześniej liczby kwadratów wzdłuż okręgu o danym promieniu (tak by kolor wypełnienia kolejnych zmieniał się od czarnego do białego). Nie było to takie proste zważywszy na fakt konieczności uprzedniego odpalenia tej biblioteki w Devcpp.
Jakież było moje zaskoczenie jak sobie uświadomiłem że te ćwiczenia są dopiero w środę a nie za 8 godzin licząc od teraz :) i w zasadzie mogłem iść spać już 4h temu.. :).
jak by kogoś interesował kod źródłowy:
#define PI 3.14159265f #define GLUT_NO_LIB_PRAGMA #include GL/openglut.h #include conio.h #include gl/gl.h #include math.h
void RenderScene()
{ GLfloat xa, ya, xb, yb, r, a, ile, rozmiar, kolor; r=0.5f; ile=10.0f; rozmiar=0.2f; glClearColor(1.0f, 0.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT);
for (a=0.0f, kolor=0.0f; a<=(2.0f*PI);
a+=((2.0f*PI)/ile), kolor=kolor+(1/ile))
{
glColor3f(kolor, kolor, kolor);
xa= ( r * sin(a) ) - 0.5*rozmiar;
ya= ( r * cos(a) ) - 0.5*rozmiar;
xb= xa + rozmiar;
yb= ya + rozmiar;
glRectf(xa, ya, xb, yb);
}
glutSwapBuffers();
}
int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGBA); glutInitWindowPosition(100, 100); glutInitWindowSize(400, 400); glutCreateWindow(“Kwadraty w kolo”); glOrtho(-1.0, 1.0, -1.0, 1.0, 1.0, -1.0); glutDisplayFunc (RenderScene); glutMainLoop();
return 0; }
Dodaj komentarz!