- glClear(GL_COLOR_BUFFER_BIT);
- for (int i = 0; i < 2; i++) {
- glUseProgram(progIds[i]);
- glBindVertexArray(vaos[i]);
- glDrawArrays(GL_TRIANGLES, 0, 3);
+ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
+ glUseProgram(progId);
+ glBindVertexArray(vaos[0]);
+ for (int i = 0; i < 100; i++) {
+
+ GLuint projId = glGetUniformLocation(progId, "projection");
+ glm::mat4 proj = glm::perspective(glm::radians(45.f), 1.33f, 0.01f, 100.f);
+ glUniformMatrix4fv(projId, 1, GL_FALSE, glm::value_ptr(proj));
+
+ GLuint viewId = glGetUniformLocation(progId, "view");
+ glm::mat4 view = glm::lookAt(camPos, camPos + camFront, camUp);
+ glUniformMatrix4fv(viewId, 1, GL_FALSE, glm::value_ptr(view));
+
+ GLuint modelId = glGetUniformLocation(progId, "model");
+ float d = (float)glutGet(GLUT_ELAPSED_TIME) * 0.001f;
+ glm::mat4 model = glm::mat4(1.f);
+
+ model = glm::translate(model, glm::vec3(sin(i * 30) * 2, cos(i * 30) * 2, i * 2));
+
+ if (doRotate) {
+ model = glm::rotate(model, d * glm::radians(30.f), glm::vec3(0.f, 1.f, 0.f));
+ model = glm::rotate(model, d * glm::radians(20.f), glm::vec3(1.f, 0.f, 0.f));