Buffer.hpp 586 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef PARTICLE_BUFFER
  2. #define PARTICLE_BUFFER
  3. #include <vector>
  4. #include <string>
  5. #include <iostream>
  6. #include <fstream>
  7. #include <sstream>
  8. /* OpenGL */
  9. #include "glad/glad.h"
  10. #include <GLFW/glfw3.h>
  11. class Buffer
  12. {
  13. private:
  14. GLuint m_buffer = 0;
  15. public:
  16. Buffer() = default;
  17. ~Buffer();
  18. void create();
  19. void set(void const *data, size_t count, size_t size);
  20. void bind();
  21. void bindBase(GLint program, char const *name, int binding);
  22. void unbind();
  23. void get(void *data, size_t count, size_t size);
  24. void release();
  25. };
  26. #endif // PARTICLE_BUFFER