Cube.h 837 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #ifndef DEF_CUBE
  2. #define DEF_CUBE
  3. // Include Windows
  4. #ifdef WIN32
  5. #include <GL/glew.h>
  6. // Include Mac
  7. #elif __APPLE__
  8. #define GL3_PROTOTYPES 1
  9. #include <OpenGL/gl3.h>
  10. // Include UNIX/Linux
  11. #else
  12. #define GL3_PROTOTYPES 1
  13. #include <GL3/gl3.h>
  14. #endif
  15. // Includes GLM
  16. #include <glm/glm.hpp>
  17. #include <glm/gtx/transform.hpp>
  18. #include <glm/gtc/type_ptr.hpp>
  19. // Includes
  20. #include "macro.h"
  21. #include "Shader.h"
  22. // Classe Cube
  23. class Cube
  24. {
  25. public:
  26. Cube(float taille);
  27. ~Cube();
  28. void charger();
  29. void afficher(glm::mat4 &projection, glm::mat4 &modelview);
  30. void updateVBO(void *donnees, int tailleBytes, int decalage);
  31. protected:
  32. float m_vertices[108];
  33. float m_couleurs[108];
  34. GLuint m_vboID;
  35. int m_tailleVerticesBytes;
  36. int m_tailleCouleursBytes;
  37. GLuint m_vaoID;
  38. };
  39. #endif