mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 13:48:30 +09:00
[Feat] (MG_Impl/Texture): Handle newly added params in TexParameter*.
This commit is contained in:
@@ -104,6 +104,7 @@ namespace MobileGL {
|
|||||||
// TODO: implement
|
// TODO: implement
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TexParameteriv/TexParameterfv are introduced in OpenGL 4.0, so do not support them for now.
|
||||||
void TexParameterf_State(GLenum target, GLenum pname, GLfloat param) {
|
void TexParameterf_State(GLenum target, GLenum pname, GLfloat param) {
|
||||||
|
|
||||||
// ======================= Converting ================================
|
// ======================= Converting ================================
|
||||||
@@ -142,14 +143,26 @@ namespace MobileGL {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_TEXTURE_BASE_LEVEL:
|
case GL_TEXTURE_BASE_LEVEL:
|
||||||
|
textureObject->SetBaseLevel(param);
|
||||||
|
break;
|
||||||
case GL_TEXTURE_MAX_LEVEL:
|
case GL_TEXTURE_MAX_LEVEL:
|
||||||
|
textureObject->SetBaseLevel(param);
|
||||||
|
break;
|
||||||
case GL_TEXTURE_SWIZZLE_R:
|
case GL_TEXTURE_SWIZZLE_R:
|
||||||
case GL_TEXTURE_SWIZZLE_G:
|
case GL_TEXTURE_SWIZZLE_G:
|
||||||
case GL_TEXTURE_SWIZZLE_B:
|
case GL_TEXTURE_SWIZZLE_B:
|
||||||
case GL_TEXTURE_SWIZZLE_A:
|
case GL_TEXTURE_SWIZZLE_A: {
|
||||||
|
auto swizzleParam = MG_Util::ConvertGLEnumToTextureSwizzleParam(pname);
|
||||||
|
auto swizzleValue = MG_Util::ConvertGLEnumToTextureSwizzleParam(param);
|
||||||
|
textureObject->SetSwizzleParam(swizzleParam, swizzleValue);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case GL_TEXTURE_SWIZZLE_RGBA:
|
case GL_TEXTURE_SWIZZLE_RGBA:
|
||||||
|
// Not supported in this function
|
||||||
|
break;
|
||||||
case GL_TEXTURE_BORDER_COLOR:
|
case GL_TEXTURE_BORDER_COLOR:
|
||||||
break; // TODO
|
// Not supported in this function
|
||||||
|
break;
|
||||||
case GL_TEXTURE_WRAP_S:
|
case GL_TEXTURE_WRAP_S:
|
||||||
textureObject->GetSamplerObject()->SetWrapS(MG_Util::ConvertGLEnumToSamplerWrapMode(param));
|
textureObject->GetSamplerObject()->SetWrapS(MG_Util::ConvertGLEnumToSamplerWrapMode(param));
|
||||||
break;
|
break;
|
||||||
@@ -211,14 +224,26 @@ namespace MobileGL {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_TEXTURE_BASE_LEVEL:
|
case GL_TEXTURE_BASE_LEVEL:
|
||||||
|
textureObject->SetBaseLevel(param);
|
||||||
|
break;
|
||||||
case GL_TEXTURE_MAX_LEVEL:
|
case GL_TEXTURE_MAX_LEVEL:
|
||||||
|
textureObject->SetBaseLevel(param);
|
||||||
|
break;
|
||||||
case GL_TEXTURE_SWIZZLE_R:
|
case GL_TEXTURE_SWIZZLE_R:
|
||||||
case GL_TEXTURE_SWIZZLE_G:
|
case GL_TEXTURE_SWIZZLE_G:
|
||||||
case GL_TEXTURE_SWIZZLE_B:
|
case GL_TEXTURE_SWIZZLE_B:
|
||||||
case GL_TEXTURE_SWIZZLE_A:
|
case GL_TEXTURE_SWIZZLE_A: {
|
||||||
|
auto swizzleParam = MG_Util::ConvertGLEnumToTextureSwizzleParam(pname);
|
||||||
|
auto swizzleValue = MG_Util::ConvertGLEnumToTextureSwizzleParam(param);
|
||||||
|
textureObject->SetSwizzleParam(swizzleParam, swizzleValue);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case GL_TEXTURE_SWIZZLE_RGBA:
|
case GL_TEXTURE_SWIZZLE_RGBA:
|
||||||
|
// Not supported in this function
|
||||||
|
break;
|
||||||
case GL_TEXTURE_BORDER_COLOR:
|
case GL_TEXTURE_BORDER_COLOR:
|
||||||
break; // TODO
|
// Not supported in this function
|
||||||
|
break;
|
||||||
case GL_TEXTURE_WRAP_S:
|
case GL_TEXTURE_WRAP_S:
|
||||||
textureObject->GetSamplerObject()->SetWrapS(MG_Util::ConvertGLEnumToSamplerWrapMode(param));
|
textureObject->GetSamplerObject()->SetWrapS(MG_Util::ConvertGLEnumToSamplerWrapMode(param));
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user