- virtual void finish();
-
- void attribute(unsigned, const std::string &);
- void fragment_shader(const std::string &);
- void geometry_shader(const std::string &);
- void vertex_shader(const std::string &);
- };
-
- typedef unsigned LayoutHash;
- struct UniformBlockInfo;
-
- struct UniformInfo
- {
- std::string name;
- const UniformBlockInfo *block;
- unsigned location;
- unsigned size;
- unsigned array_stride;
- unsigned matrix_stride;
- GLenum type;
- };
-
- struct UniformBlockInfo
- {
- std::string name;
- unsigned data_size;
- int bind_point;
- std::vector<const UniformInfo *> uniforms;
- LayoutHash layout_hash;