-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathShader.h
50 lines (38 loc) · 1.14 KB
/
Shader.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef SHADER_H_INCLUDED
#define SHADER_H_INCLUDED
#include "GestionShaders.h"
#include <iostream>
#include <fstream>
#include <vector>
#include <stdlib.h>
#include <string.h>
#define SHADER_DEBUG true
//------- Codes d'erreur:
#define SHADER_OK 0
#define SHADER_ERREUR_SOURCE 1
#define SHADER_ERREUR_OBJETS 2
#define SHADER_ERREUR_COMPILATION 3
#define SHADER_ERREUR_PROGRAMME 4
#define SHADER_ERREUR_LIAISON 5
#define SHADER_ERREUR_VALIDATION 6
#define SHADER_ERREUR_OPENGL 7
#define SHADER_ERREUR_VARIABLES 8 //Sert pour les héritiers, lorsque les variables ne sont pas trouvées dans le programme.
class Shader : public GestionShaders
{
public:
GLuint programme_id;
uint16_t erreur;
char nom[256];
protected:
char *source_vertex;
char *source_fragment;
GLuint vertex_id;
GLuint fragment_id;
bool drapeau_vertex;
bool drapeau_fragment;
const GLchar* tableau_sources[1];
public:
Shader(const char* p_nom, char* p_source_vertex, char* p_source_fragment);
~Shader();
};
#endif // SHADER_H_INCLUDED