void SUMapSet(ShaderUniformMap* psu_map, const QString& name, ValueType val) { ShaderUniformMap& su_map = *psu_map; auto iter = su_map.find(name); if (iter != su_map.end()) { iter->second.Set(val); } else { su_map[name] = ShaderUniform(name); su_map[name].Set(val); } }
ShaderUniform ShaderProgram::GetUniformLocation(const char *name) { GLuint location_id = glGetUniformLocation(program_id, name); return ShaderUniform(location_id); }
/*! \brief Used to set values of \ref Shader uniforms (AKA * arguments). * * This function lets you assign values to uniforms quite * easily: * \code Shader A; * A.build(); * A["ShaderVariable"] = 1.0; \endcode * * \param uniformName The name of the uniform to assign a * value to. * * \return A ShaderUniform object representing a uniform. */ inline ShaderUniform operator[](std::string uniformName) { return ShaderUniform(uniformName, _shaderID); }