Advertisement
Guest User

Untitled

a guest
Nov 7th, 2015
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. void iterate()
  2. {
  3.   glm::mat4 model = glm::translate(glm::mat4(1.0f), glm::vec3(-pos_x, -pos_y, -2.0f));
  4.  
  5.   glm::mat4 view = glm::mat4(1.0f)
  6.     * glm::rotate(glm::mat4(1.0f), glm::radians(delta_x - 90), glm::vec3(1.0f, 0.0f, 0.0f))
  7.     * glm::rotate(glm::mat4(1.0f), glm::radians(delta_z), glm::vec3(0.0f, 0.0f, 1.0f));
  8.  
  9.   glm::mat4 projection = glm::perspective(45.0f, (float)640 / (float)480, 0.1f, 10.0f);
  10.  
  11.   glm::mat4 mvp = projection * view * model;
  12.  
  13.   // Это экземпляры класса Object
  14.   // Код метода Object::draw ниже
  15.   suzanne1->draw(mvp);
  16.   teapot1->draw(mvp);
  17.   bunny1->draw(mvp);
  18. }
  19.  
  20. void Object::draw(const glm::mat4 &mvp) const
  21. {
  22.   const glm::mat4 transform = glm::translate(mvp, position)
  23.     * glm::rotate(glm::mat4(1.0f), glm::radians(rotation.x), glm::vec3(1.0f, 0.0f, 0.0f))
  24.     * glm::rotate(glm::mat4(1.0f), glm::radians(rotation.y), glm::vec3(0.0f, 1.0f, 0.0f))
  25.     * glm::rotate(glm::mat4(1.0f), glm::radians(rotation.z), glm::vec3(0.0f, 0.0f, 1.0f));
  26.  
  27.   glUniformMatrix4fv(mvp_uniform, 1, GL_FALSE, glm::value_ptr(transform));
  28.  
  29.   _model.draw();
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement