shader.h 895 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <glad/glad.h>
  3. struct Shader
  4. {
  5. GLuint id = 0;
  6. bool loadShaderProgramFromFile(const char* vertexShader, const char* fragmentShader);
  7. bool loadShaderProgramFromFile(const char* vertexShader,
  8. const char* geometryShader, const char* fragmentShader);
  9. void bind();
  10. void clear();
  11. GLint getUniform(const char* name);
  12. GLint getUniformSubroutine(GLenum shaderType, const char* name);
  13. GLuint getUniformBlock(const char* name);
  14. GLuint getUniformSubroutineIndex(GLenum shaderType, const char* name);
  15. GLuint getStorageBlockIndex(const char* name);
  16. };
  17. GLint getUniform(GLuint id, const char* name);
  18. GLint getUniformSubroutine(GLuint id, GLenum shaderType, const char* name);
  19. GLuint getUniformBlock(GLuint id, const char* name);
  20. GLuint getUniformSubroutineIndex(GLuint id, GLenum shaderType, const char* name);
  21. GLuint getStorageBlockIndex(GLuint id, const char* name);