Open Source Tomb Raider Engine
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

Window.h 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*!
  2. * \file include/system/Window.h
  3. * \brief Windowing interface
  4. *
  5. * \author xythobuz
  6. */
  7. #ifndef _WINDOW_H_
  8. #define _WINDOW_H_
  9. #include <vector>
  10. #include <glm/mat4x4.hpp>
  11. #include <glm/vec2.hpp>
  12. #include <glm/vec3.hpp>
  13. #include <glm/vec4.hpp>
  14. #include <glm/gtc/type_precision.hpp>
  15. #include "Shader.h"
  16. class Window {
  17. public:
  18. static int initialize();
  19. static void eventHandling();
  20. static void swapBuffers();
  21. static void shutdown();
  22. static void setSize(glm::i32vec2 s);
  23. static glm::i32vec2 getSize();
  24. static void setFullscreen(bool f);
  25. static bool getFullscreen();
  26. static void setMousegrab(bool g);
  27. static bool getMousegrab();
  28. static void setTextInput(bool t);
  29. static bool getTextInput();
  30. static void drawTextGL(std::vector<glm::vec2>& vertices, std::vector<glm::vec2>& uvs,
  31. glm::vec4 color, unsigned int texture);
  32. static void drawGL(std::vector<glm::vec3>& vertices, std::vector<glm::vec2>& uvs,
  33. std::vector<unsigned short>& indices, glm::mat4 MVP, unsigned int texture);
  34. static void drawGL(std::vector<glm::vec3>& vertices, std::vector<glm::vec3>& colors,
  35. std::vector<unsigned short>& indices, glm::mat4 MVP, int mode = GL_TRIANGLES);
  36. private:
  37. static int initializeGL();
  38. static void shutdownGL();
  39. static Shader textShader;
  40. static const char* textShaderVertex;
  41. static const char* textShaderFragment;
  42. static Shader imguiShader;
  43. static const char* imguiShaderVertex;
  44. static const char* imguiShaderFragment;
  45. friend class UI;
  46. static Shader textureShader;
  47. static const char* textureShaderVertex;
  48. static const char* textureShaderFragment;
  49. static Shader colorShader;
  50. static const char* colorShaderVertex;
  51. static const char* colorShaderFragment;
  52. static unsigned int vertexArrayID;
  53. };
  54. #endif