Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.33 KB | None | 0 0
  1. GLint poziom = 0;
  2. GLfloat szerokosc = 100;
  3. GLfloat st_deformacji = 3;
  4.  
  5. void rysuj_dywan(GLfloat x, GLfloat y, GLfloat szerokosc, GLint poziom)
  6. {
  7.  
  8.     if (poziom > 0)
  9.     {
  10.         szerokosc = szerokosc / 3;
  11.         rysuj_dywan(x, y, szerokosc, poziom - 1);
  12.         rysuj_dywan(x - szerokosc, y, szerokosc, poziom - 1);
  13.         rysuj_dywan(x - 2 * szerokosc, y, szerokosc, poziom - 1);
  14.         rysuj_dywan(x, y - szerokosc, szerokosc, poziom - 1);
  15.         rysuj_dywan(x - 2 * szerokosc, y - szerokosc, szerokosc, poziom - 1);
  16.         rysuj_dywan(x, y - 2 * szerokosc, szerokosc, poziom - 1);
  17.         rysuj_dywan(x - szerokosc, y - 2 * szerokosc, szerokosc, poziom - 1);
  18.         rysuj_dywan(x - 2 * szerokosc, y - 2 * szerokosc, szerokosc, poziom - 1);
  19.     }
  20.  
  21.     else
  22.     {
  23.         GLfloat def = (rand() % 20)*st_deformacji / (10 * szerokosc);
  24.         glBegin(GL_POLYGON);
  25.         glColor3f(((rand() % 100)*0.01), ((rand() % 100)*0.01), ((rand() % 100)*0.01));
  26.         glVertex2f(x + def, y + def);
  27.         glColor3f(((rand() % 100)*0.01), ((rand() % 100)*0.01), ((rand() % 100)*0.01));
  28.         glVertex2f(x + def, y - szerokosc + def);
  29.         glColor3f(((rand() % 100)*0.01), ((rand() % 100)*0.01), ((rand() % 100)*0.01));
  30.         glVertex2f(x - szerokosc + def, y - szerokosc + def);
  31.         glColor3f(((rand() % 100)*0.01), ((rand() % 100)*0.01), ((rand() % 100)*0.01));
  32.         glVertex2f(x - szerokosc + def, y + def);
  33.         glEnd();
  34.         glFlush();
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement