summaryrefslogtreecommitdiff
path: root/gfx/gl/glSource.h
blob: 7b43c480320cc8d49b40ad0e4492ddc6712b8441 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef SHADER_SOURCE_H
#define SHADER_SOURCE_H

#include <GL/glew.h>
#include <glRef.hpp>
#include <string_view>

struct GLsource {
	using ShaderRef = glRef<GLuint, &__glewCreateShader, &__glewDeleteShader>;

	const GLchar * text;
	GLint len;
	GLuint type;

	[[nodiscard]] ShaderRef compile() const;
	static void CheckShaderError(GLuint shader, GLuint flag, bool isProgram, std::string_view errorMessage);
};

#endif