Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "trexmovementanimation.h" //Фаил со всеми именам
- //В этом фаиле реализованны методы класса "тиранозавр".
- TRex::TRex(void)
- {//Конструктор класса "тиранозавр".
- mesh = ifstream("D:/CG/Resourses/Meshes/Rexy.obj"); //Открываем файл с мешем (сеткой) нашего тиранозавра.
- if (!mesh.is_open())
- exit(true);
- InitVerteces(); //Закрытый метод, который инициализирует все точки тиранозавра.
- InitPolygons(); //Закрытый метод, который инициализирует все полигоны тиранозавра.
- InitLegGroup();
- angle = 0.0;
- }
- void TRex::WalkingCycle()
- {//Метод, который делает движение тиранозавра.
- angle += 10.0;
- for(int i = 0; i < 159; i++)
- {
- vertexBuffer[legGroup[i]].x = (vertexBuffer[legGroup[i]].x) * cos((angle * PI)/ 180) - (vertexBuffer[legGroup[i]].y) * sin((angle * PI)/ 180);
- vertexBuffer[legGroup[i]].y = (vertexBuffer[legGroup[i]].x - 0.08) * sin((angle * PI)/ 180) + (vertexBuffer[legGroup[i]].y) * cos((angle * PI)/ 180);
- }
- }
- void TRex::RenderTRex()
- {//Метод, который отображает тиранозавра на экран.
- glBegin(GL_TRIANGLES);
- glColor3f(0.69, 0.58, 0.39);for(int i = 0; i < 3166; i++) //Отображаем как: вершина[номер вершины в полигоне] и так все вершины.
- for(int j = 0; j < 3; j++)
- glVertex3f(vertexBuffer[polygonBuffer[i][j] - 1].x, vertexBuffer[polygonBuffer[i][j] - 1].y, vertexBuffer[polygonBuffer[i][j] - 1].z);
- glEnd();
- WalkingCycle(); //Метод, отсуществляющий ходьбу тиранозавра.
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement