JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL33_nglSamplerParameteriv(JNIEnv *__env, jclass clazz, jint sampler, jint pname, jlong paramsAddress, jlong __functionAddress) { const GLint *params = (const GLint *)(intptr_t)paramsAddress; glSamplerParameterivPROC glSamplerParameteriv = (glSamplerParameterivPROC)(intptr_t)__functionAddress; UNUSED_PARAMS(__env, clazz) glSamplerParameteriv(sampler, pname, params); }
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBSamplerObjects_nglSamplerParameteriv__IIJ(JNIEnv *__env, jclass clazz, jint sampler, jint pname, jlong paramsAddress) { glSamplerParameterivPROC glSamplerParameteriv = (glSamplerParameterivPROC)tlsGetFunction(674); intptr_t params = (intptr_t)paramsAddress; UNUSED_PARAM(clazz) glSamplerParameteriv(sampler, pname, params); }
void parameter(GLenum pname, GLint* param) { glSamplerParameteriv(m_sampler, pname, param); }
void fhSampler::Init() { if(num <= 0) { glGenSamplers( 1, &num ); } switch (filter) { case TF_DEFAULT: glSamplerParameteri( num, GL_TEXTURE_MIN_FILTER, globalImages->textureMinFilter ); glSamplerParameteri( num, GL_TEXTURE_MAG_FILTER, globalImages->textureMaxFilter ); break; case TF_LINEAR: glSamplerParameteri( num, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glSamplerParameteri( num, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); break; case TF_NEAREST: glSamplerParameteri( num, GL_TEXTURE_MIN_FILTER, GL_NEAREST ); glSamplerParameteri( num, GL_TEXTURE_MAG_FILTER, GL_NEAREST ); break; default: common->FatalError( "fhSampler: bad texture filter" ); } switch (repeat) { case TR_REPEAT: glSamplerParameteri( num, GL_TEXTURE_WRAP_S, GL_REPEAT ); glSamplerParameteri( num, GL_TEXTURE_WRAP_T, GL_REPEAT ); break; case TR_CLAMP_TO_BORDER: glSamplerParameteri( num, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER ); glSamplerParameteri( num, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER ); break; case TR_CLAMP_TO_ZERO: case TR_CLAMP_TO_ZERO_ALPHA: case TR_CLAMP: glSamplerParameteri( num, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); glSamplerParameteri( num, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); break; default: common->FatalError( "fhSampler: bad texture repeat" ); } static const GLint const swizzle_AGBR[] = { GL_ALPHA, GL_GREEN, GL_BLUE, GL_RED }; switch (swizzle) { case textureSwizzle_t::AGBR: glSamplerParameteriv( GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzle_AGBR ); break; case textureSwizzle_t::None: //do nothing break; default: common->FatalError( "fhSampler: bad texture swizzle" ); } if (glConfig.anisotropicAvailable) { // only do aniso filtering on mip mapped images if (filter == TF_DEFAULT && useAf) { glSamplerParameterf( num, GL_TEXTURE_MAX_ANISOTROPY_EXT, globalImages->textureAnisotropy ); } else { glSamplerParameterf( num, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1 );; } } if(useLodBias) { glSamplerParameterf( num, GL_TEXTURE_LOD_BIAS, globalImages->textureLODBias ); } else { glSamplerParameterf( num, GL_TEXTURE_LOD_BIAS, 0 ); } }