PrusaSlicer-NonPlainar/src/slic3r/GUI/GLShader.hpp
bubnikv 4eaca91f11 include "libslic3r" from slic3r project directly, not as "../../libslicer"
(rely on -Ilibslic3r set correctly) for the slic3r project.
2018-12-06 12:52:28 +01:00

42 lines
989 B
C++

#ifndef slic3r_GLShader_hpp_
#define slic3r_GLShader_hpp_
#include "libslic3r/libslic3r.h"
#include "libslic3r/Point.hpp"
namespace Slic3r {
class GLShader
{
public:
GLShader() :
fragment_program_id(0),
vertex_program_id(0),
shader_program_id(0)
{}
~GLShader();
bool load_from_text(const char *fragment_shader, const char *vertex_shader);
bool load_from_file(const char* fragment_shader_filename, const char* vertex_shader_filename);
void release();
int get_attrib_location(const char *name) const;
int get_uniform_location(const char *name) const;
bool set_uniform(const char *name, float value) const;
bool set_uniform(const char* name, const float* matrix) const;
void enable() const;
void disable() const;
unsigned int fragment_program_id;
unsigned int vertex_program_id;
unsigned int shader_program_id;
std::string last_error;
};
}
#endif /* slic3r_GLShader_hpp_ */