30 lines
429 B
C++
30 lines
429 B
C++
#ifndef SHADERSOURCE_H
|
|
#define SHADERSOURCE_H
|
|
|
|
#include <string>
|
|
|
|
class Shader;
|
|
|
|
class ShaderSource
|
|
{
|
|
public:
|
|
enum SourceType
|
|
{
|
|
VERTEX,
|
|
GEOMETRY,
|
|
FRAGMENT,
|
|
NB_TYPES
|
|
};
|
|
|
|
ShaderSource();
|
|
|
|
void addSource(const char *source, SourceType type);
|
|
|
|
Shader* compile(int nbDefines = 0, const char** defines = NULL);
|
|
|
|
private:
|
|
char* sources[NB_TYPES];
|
|
};
|
|
|
|
#endif // SHADERSOURCE_H
|