61 virtual bool SetBool(
const std::string &Name,
bool Value)
const = 0;
62 virtual bool SetFloat(
const std::string &Name,
float Value)
const = 0;
63 virtual bool SetFloat2(
const std::string &Name,
const vec2 &Value)
const = 0;
64 virtual bool SetFloat3(
const std::string &Name,
const vec3 &Value)
const = 0;
65 virtual bool SetFloat4(
const std::string &Name,
const vec4 &Value)
const = 0;
66 virtual bool SetInt(
const std::string &Name,
int Value)
const = 0;
67 virtual bool SetInt2(
const std::string &Name,
const ivec2 &Value)
const = 0;
68 virtual bool SetInt3(
const std::string &Name,
const ivec3 &Value)
const = 0;
69 virtual bool SetInt4(
const std::string &Name,
const ivec4 &Value)
const = 0;
70 virtual bool SetUInt(
const std::string &Name,
u32 Value)
const = 0;
71 virtual bool SetUInt2(
const std::string &Name,
const uvec2 &Value)
const = 0;
72 virtual bool SetUInt3(
const std::string &Name,
const uvec3 &Value)
const = 0;
73 virtual bool SetUInt4(
const std::string &Name,
const uvec4 &Value)
const = 0;
74 virtual bool SetMatr3(
const std::string &Name,
const matr3 &Value)
const = 0;
75 virtual bool SetMatr4(
const std::string &Name,
const matr4 &Value)
const = 0;
85 virtual bool SetBool(
int Location,
bool Value)
const = 0;
86 virtual bool SetFloat (
int Location,
float Value)
const = 0;
90 virtual bool SetInt(
int Location,
int Value)
const = 0;
130 virtual void Update(
const std::vector<shader_props> &Shaders) = 0;
virtual bool SetUInt4(const std::string &Name, const uvec4 &Value) const =0
static shared< shader_program > Create(const std::vector< shader_props > &Shaders, const std::string &DebugName)
virtual bool SetUInt3(int Location, const uvec3 &Value) const =0
virtual bool SetMatr4(const std::string &Name, const matr4 &Value) const =0
virtual bool SetInt4(const std::string &Name, const ivec4 &Value) const =0
virtual bool SetInt2(int Location, const ivec2 &Value) const =0
virtual bool SetFloat3(const std::string &Name, const vec3 &Value) const =0
virtual void Unbind() const =0
virtual bool SetInt3(int Location, const ivec3 &Value) const =0
virtual bool SetMatr3(const std::string &Name, const matr3 &Value) const =0
virtual bool SetUInt3(const std::string &Name, const uvec3 &Value) const =0
virtual bool SetMatr4(int Location, const matr4 &Value) const =0
virtual bool SetFloat(const std::string &Name, float Value) const =0
virtual bool SetBool(const std::string &Name, bool Value) const =0
virtual bool SetUInt(const std::string &Name, u32 Value) const =0
virtual bool SetMatr3(int Location, const matr3 &Value) const =0
virtual void Update(const std::vector< shader_props > &Shaders)=0
virtual ~shader_program()=default
virtual bool SetUInt(int Location, u32 Value) const =0
virtual bool SetFloat3(int Location, const vec3 &Value) const =0
virtual bool SetInt2(const std::string &Name, const ivec2 &Value) const =0
std::string GeometryShadersourceFileName
virtual bool SetUInt4(int Location, const uvec4 &Value) const =0
virtual bool SetFloat4(const std::string &Name, const vec4 &Value) const =0
virtual bool SetInt4(int Location, const ivec4 &Value) const =0
virtual bool SetInt3(const std::string &Name, const ivec3 &Value) const =0
std::string PixelShadersourceFileName
std::string SingleSourceFileName
virtual bool SetFloat(int Location, float Value) const =0
virtual void Bind() const =0
virtual bool SetUInt2(const std::string &Name, const uvec2 &Value) const =0
shader_program(const std::string &DebugName)
virtual bool SetFloat2(int Location, const vec2 &Value) const =0
virtual bool SetFloat4(int Location, const vec4 &Value) const =0
virtual bool SetFloat2(const std::string &Name, const vec2 &Value) const =0
virtual bool SetInt(int Location, int Value) const =0
virtual bool SetUInt2(int Location, const uvec2 &Value) const =0
virtual bool SetInt(const std::string &Name, int Value) const =0
virtual bool SetBool(int Location, bool Value) const =0
std::string VertexShadersourceFileName
std::shared_ptr< T > shared
Render primitive abstract class definition module.
shader_props(shader_type Type, const std::string &Source)