-
Notifications
You must be signed in to change notification settings - Fork 14
/
lesson8.cpp
59 lines (51 loc) · 1.9 KB
/
lesson8.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//
// Created by Иван Ильин on 24.02.2022.
//
#include "engine/Engine.h"
#include "engine/animation/Timeline.h"
#include "engine/animation/Animations.h"
class Lesson8 final : public Engine {
public:
Lesson8() = default;
void start() override {
// set camera orientation
camera->translateToPoint(Vec3D(5, 4, 2));
camera->rotate(Vec3D(0, -0.2*M_PI, 0));
camera->rotateLeft(0.1*M_PI);
// add sphere
auto cube = world->loadBody(ObjectNameTag("cube"), "obj/cube.obj");
cube->translate(Vec3D(0,0,20));
// add animations
Timeline::addAnimation<ATranslate>(cube, Vec3D(0, 0, -10), 5);
Timeline::addAnimation<AWait>();
Timeline::addAnimation<ARotate>(cube, Vec3D(M_PI/2, M_PI, 3*M_PI/2), 5);
Timeline::addAnimation<AWait>();
Timeline::addAnimation<AScale>(cube, Vec3D(3, 3, 3), 5);
setGlEnable(true);
}
};
int main() {
/*
* EN:
* TODO: implement translate, rotate and scale animations
* You should work with the following file:
*
* engine/animation/ATranslate.cpp
* engine/animation/ARotate.cpp
* engine/animation/AScale.cpp
*
* If you do it right, you will see sequence of 3 animation (translation, rotation and scaling)
*
* RU:
* TODO: реализуйте анимации перемещения, вращения и масштабирования
* На этом уроке вам необходимо работать со следующим файлом:
*
* engine/animation/ATranslate.h
* engine/animation/ARotate.h
* engine/animation/AScale.h
*
* Если вы всё сделали правильно, то увидите последовательность из 3 анимаций (перемещение, вращение и масштабирование)
*/
Lesson8 l;
l.create();
}