-
Notifications
You must be signed in to change notification settings - Fork 2
/
kubusmutar.cpp
145 lines (145 loc) · 4.46 KB
/
kubusmutar.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
//#include <cstdio>
//#include <cstdlib>
//#include <ctime>
//#include <vector>
//#include <GL/glew.h>
//#include <glfw3.h>
//#include <common/controls.hpp>
//#include <common/shader.hpp>
//#include <custom/shapes.hpp>
//#include <custom/utils/tranform_matrix.hpp>
//#include <glm/gtx/rotate_vector.hpp>
//
//GLFWwindow* window;
//GLfloat xrot, yrot;
//
//void keyboard_callback () {
// if (glfwGetKey (window, GLFW_KEY_UP) == GLFW_PRESS)
// xrot += 0.01f;
// if (glfwGetKey (window, GLFW_KEY_DOWN) == GLFW_PRESS)
// xrot -= 0.01f;
// if (glfwGetKey (window, GLFW_KEY_RIGHT) == GLFW_PRESS)
// yrot -= 0.01f;
// if (glfwGetKey (window, GLFW_KEY_LEFT) == GLFW_PRESS)
// yrot += 0.01f;
//}
//
//int initGL () {
// vec4 pos (2, 2, 2, 1);
// mat4 T0, R, Tb;
// T0 = translation_matrix (-1, -1, -1);
// R = rotation_matrix (0, 0, 0.01f);
// Tb = translation_matrix (1, 1, 1);
// vec4 res = T0 * R * Tb * pos;
// for (int j = 0; j < 4; j++)
// printf ("%f ", res[j]);
// printf ("\n");
// printf ("\n");
//
// vec3 pos2 (2, 2, 2);
// mat4 m2 = glm::translate (mat4 (-1), pos2);
// vec4 res2 = rotateZ (pos, 0.01f);
// for (int j = 0; j < 4; j++)
// printf ("%f ", res2[j]);
// printf ("\n");
//
// // initialize GLFW
// if (!glfwInit ()) {
// fprintf (stderr, "Failed to initialize GLFW\n");
// getchar ();
// return -1;
// }
//
// glfwWindowHint (GLFW_SAMPLES, 4);
// glfwWindowHint (GLFW_CONTEXT_VERSION_MAJOR, 3);
// glfwWindowHint (GLFW_CONTEXT_VERSION_MINOR, 3);
// glfwWindowHint (GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
// glfwWindowHint (GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
//
// // Open a window and create its OpenGL context
// window = glfwCreateWindow (800, 600, "Rollercoaster", nullptr, nullptr);
// if (window == nullptr) {
// getchar ();
// glfwTerminate ();
// return -1;
// }
// glfwMakeContextCurrent (window);
//
// // Initialize GLEW
// glewExperimental = true;
// if (glewInit () != GLEW_OK) {
// fprintf (stderr, "Failed to initialize GLEW\n");
// getchar ();
// glfwTerminate ();
// return -1;
// }
//
// glfwSetInputMode (window, GLFW_STICKY_KEYS, GL_TRUE);
// glfwSetInputMode (window, GLFW_CURSOR, GLFW_CURSOR_DISABLED);
// glfwPollEvents ();
// glfwSetCursorPos (window, 1024/2, 768/2);
// glClearColor (0.4f, 0.6f, 0.9f, 0.0f);
//
// glEnable (GL_DEPTH_TEST);
// glDepthFunc (GL_LESS);
// glEnable (GL_CULL_FACE);
// return 0;
//}
//
//int main () {
// srand (static_cast <unsigned> (time (0)));
// if (initGL () == -1)
// return -1;
//
// GLuint programID = LoadShaders ("TransformVertexShader.vertexshader", "ColorFragmentShader.fragmentshader");
// GLint MatrixID = glGetUniformLocation (programID, "MVP");
//
// /* define all the objects here. */
// std::vector<Object*> objects;
//
// objects.push_back (new Cube (0, -2, 0, 4, true));
//
// Cube *kecil = new Cube (0, 7, 0, 1.5, true);
// objects.push_back ((Object*) kecil);
//
// while (glfwGetKey (window, GLFW_KEY_ESCAPE) != GLFW_PRESS && glfwWindowShouldClose (window) == 0) {
// glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//
// glUseProgram (programID);
//
// // Compute the MVP matrix from keyboard and mouse input
// computeMatricesFromInputs ();
// glm::mat4 ProjectionMatrix = getProjectionMatrix ();
// glm::mat4 ViewMatrix = getViewMatrix ();
// glm::mat4 ModelMatrix = glm::mat4 (1.0);
// glm::mat4 MVP = ProjectionMatrix * ViewMatrix * ModelMatrix;
//
// if (!xrot && !yrot)
// kecil->mengelilingi ();
//
// glUniformMatrix4fv (MatrixID, 1, GL_FALSE, &MVP[0][0]);
//
// keyboard_callback ();
// ((Box*) objects[0])->mutar (xrot, yrot, 0);
// ((Box*) objects[1])->mutar (xrot, yrot, 0);
//
// for (int i = 0; i < objects.size (); i++) {
// // render all objects defined
// objects[i]->render ();
// }
//
// xrot = yrot = 0;
//
// glfwSwapBuffers (window);
// glfwPollEvents ();
// }
//
// for (int i = 0; i < objects.size (); i++)
// objects[i]->clean ();
// glDeleteProgram (programID);
//
// // Close OpenGL window and terminate GLFW
// glfwTerminate ();
//
// return 0;
//}