8#include <unordered_map>
20 void set_uniform(
const std::string& name,
int value)
override;
21 void set_uniform(
const std::string& name,
float value)
override;
22 void set_uniform(
const std::string& name,
const Vector2& value)
override;
23 void set_uniform(
const std::string& name,
const Vector3& value)
override;
24 void set_uniform(
const std::string& name,
const Vector4& value)
override;
25 void set_uniform(
const std::string& name,
const Matrix4& value)
override;
27 operator GLuint()
const noexcept;
37 int get_uniform_buffer_location(
const std::string& name)
const;
49 int get_uniform_location(
const std::string& name)
const;
51 void attach(
const std::shared_ptr<Shader> shader);
52 void detach(
const std::shared_ptr<Shader> shader);
56 mutable std::unordered_map<std::string, int> uniform_location_cache_;
Definition: GLProgram.h:13
着色器程序.
Definition: Program.h:21
着色器阶段.
Definition: Shader.h:20