#ifndef MSP_GL_PROGRAM_H_
#define MSP_GL_PROGRAM_H_
-#include <list>
#include <string>
+#include <vector>
#include <msp/datafile/objectloader.h>
#include "bindable.h"
#include "gl.h"
LayoutHash layout_hash;
};
- typedef std::list<Shader *> ShaderList;
+ typedef std::vector<Shader *> ShaderList;
typedef std::map<std::string, UniformInfo> UniformMap;
typedef std::map<std::string, UniformBlockInfo> UniformBlockMap;
void link();
private:
+ void query_uniforms();
+ void query_uniform_blocks(const std::vector<UniformInfo *> &);
+ void query_attributes();
static LayoutHash compute_layout_hash(const std::vector<const UniformInfo *> &);
static bool uniform_location_compare(const UniformInfo *, const UniformInfo *);
public: