32 lines
No EOL
683 B
C++
32 lines
No EOL
683 B
C++
|
|
#pragma once
|
|
|
|
namespace tp {
|
|
class RenderShader {
|
|
public:
|
|
RenderShader();
|
|
RenderShader(const char* vertid, const char* geomid, const char* fragid, bool paths = true);
|
|
~RenderShader();
|
|
|
|
void vert_bind_source(const char* vert_src);
|
|
void frag_bind_source(const char* frag_src);
|
|
void geom_bind_source(const char* geom_src);
|
|
|
|
void compile();
|
|
|
|
void bind();
|
|
uint4 getu(const char* uid);
|
|
void unbind();
|
|
|
|
void load(const char* vert, const char* geom, const char* frag, bool paths);
|
|
|
|
private:
|
|
bool compile_shader(const char* ShaderCode, uint4 ShaderID);
|
|
|
|
private:
|
|
uint4 programm;
|
|
uint4 VertexShaderID;
|
|
uint4 FragmentShaderID;
|
|
uint4 GeometryShaderID;
|
|
};
|
|
}; |