void Program::setUniformDirectly(int nLoc, uint32_t type, const vec4& value) { #if !defined(ET_CONSOLE_APPLICATION) if (nLoc == -1) return; (void)type; ET_ASSERT(type == GL_FLOAT_VEC4); ET_ASSERT(apiHandleValid()); glUniform4fv(nLoc, 1, value.data()); checkOpenGLError("glUniform4fv"); #endif }
void Program::setUniform(int nLoc, uint32_t type, const vec4& value, bool forced) { if (nLoc == -1) return; (void)type; assert(type == GL_FLOAT_VEC4); assert(loaded()); if (forced || ((_vec4Cache.count(nLoc) == 0) || (_vec4Cache[nLoc] != value))) { _vec4Cache[nLoc] = value; glUniform4fv(nLoc, 1, value.data()); } checkOpenGLError("setUniform - vec4"); }
void Program::setUniform(int nLoc, uint32_t type, const vec4& value, bool forced) { #if !defined(ET_CONSOLE_APPLICATION) if (nLoc == -1) return; (void)type; ET_ASSERT(type == GL_FLOAT_VEC4); ET_ASSERT(apiHandleValid()); if (forced || ((_vec4Cache.count(nLoc) == 0) || (_vec4Cache[nLoc] != value))) { _vec4Cache[nLoc] = value; glUniform4fv(nLoc, 1, value.data()); checkOpenGLError("glUniform4fv"); } #endif }