void texture::parameter(GLenum pname, float param) { gl_assert_error("entering texture::parameter(GLenum, float)"); #ifdef SCM_GL_USE_DIRECT_STATE_ACCESS glTextureParameterfEXT(id(), target(), pname, param); #else // SCM_GL_USE_DIRECT_STATE_ACCESS binding_guard guard(target(), binding()); bind(); glTexParameterf(target(), pname, param); unbind(); #endif // SCM_GL_USE_DIRECT_STATE_ACCESS gl_assert_error("exiting texture::parameter(GLenum, float)"); }
void OGLTexture::TexParameterf(GLenum pname, GLfloat param) { KLAYGE_AUTO(iter, tex_param_f_.find(pname)); if ((iter == tex_param_f_.end()) || (iter->second != param)) { if (glloader_GL_EXT_direct_state_access()) { glTextureParameterfEXT(texture_, target_type_, pname, param); } else { glBindTexture(target_type_, texture_); glTexParameterf(target_type_, pname, param); } tex_param_f_[pname] = param; } }
void OGLTexture::TexParameterf(GLenum pname, GLfloat param) { auto iter = tex_param_f_.find(pname); if ((iter == tex_param_f_.end()) || (iter->second != param)) { if (glloader_GL_VERSION_4_5() || glloader_GL_ARB_direct_state_access()) { glTextureParameterf(texture_, pname, param); } else if (glloader_GL_EXT_direct_state_access()) { glTextureParameterfEXT(texture_, target_type_, pname, param); } else { OGLRenderEngine& re = *checked_cast<OGLRenderEngine*>(&Context::Instance().RenderFactoryInstance().RenderEngineInstance()); re.BindTexture(0, target_type_, texture_); glTexParameterf(target_type_, pname, param); } tex_param_f_[pname] = param; } }
void AbstractTexture::parameterImplementationDSA(GLenum parameter, GLfloat value) { glTextureParameterfEXT(_id, _target, parameter, value); }