18 ShaderProgram &operator=(
const ShaderProgram &) =
delete;
19 ShaderProgram &operator=(ShaderProgram &&o) {
20 _STD swap(program_, o.program_);
30 bool is_valid()
const {
return program_ != 0; };
31 void atttach_shader(
const Shader &shader);
33 void uniform(
const char *name,
35 void uniform(
const char *name,
37 void uniform(
const char *name,
39 void uniform(
const char *name,
43 static std::shared_ptr<ShaderProgram> from_file(
44 std::string_view vertex_file, std::string_view fragment_file);