mirror of
https://github.com/MobileGL-Dev/MobileGlues.git
synced 2025-09-20 17:51:04 -04:00
[Fix] (Texture): Add more texture targets.
This commit is contained in:
parent
93159fefb6
commit
59055c5c92
@ -37,40 +37,68 @@ int nlevel(int size, int level) {
|
||||
|
||||
GLenum ConvertTextureTargetToGLEnum(TextureTarget target) {
|
||||
switch (target) {
|
||||
case TextureTarget::TEXTURE_2D: return GL_TEXTURE_2D;
|
||||
case TextureTarget::PROXY_TEXTURE_2D: return GL_PROXY_TEXTURE_2D;
|
||||
case TextureTarget::TEXTURE_1D_ARRAY: return GL_TEXTURE_1D_ARRAY;
|
||||
case TextureTarget::PROXY_TEXTURE_1D_ARRAY: return GL_PROXY_TEXTURE_1D_ARRAY;
|
||||
case TextureTarget::TEXTURE_RECTANGLE: return GL_TEXTURE_RECTANGLE;
|
||||
case TextureTarget::PROXY_TEXTURE_RECTANGLE: return GL_PROXY_TEXTURE_RECTANGLE;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_X: return GL_TEXTURE_CUBE_MAP_POSITIVE_X;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_X: return GL_TEXTURE_CUBE_MAP_NEGATIVE_X;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_Y: return GL_TEXTURE_CUBE_MAP_POSITIVE_Y;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_Y: return GL_TEXTURE_CUBE_MAP_NEGATIVE_Y;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_Z: return GL_TEXTURE_CUBE_MAP_POSITIVE_Z;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_Z: return GL_TEXTURE_CUBE_MAP_NEGATIVE_Z;
|
||||
case TextureTarget::PROXY_TEXTURE_CUBE_MAP: return GL_PROXY_TEXTURE_CUBE_MAP;
|
||||
case TextureTarget::TEXTURE_1D: return GL_TEXTURE_1D;
|
||||
case TextureTarget::PROXY_TEXTURE_1D: return GL_PROXY_TEXTURE_1D;
|
||||
case TextureTarget::TEXTURE_1D_ARRAY: return GL_TEXTURE_1D_ARRAY;
|
||||
case TextureTarget::PROXY_TEXTURE_1D_ARRAY: return GL_PROXY_TEXTURE_1D_ARRAY;
|
||||
case TextureTarget::TEXTURE_2D: return GL_TEXTURE_2D;
|
||||
case TextureTarget::PROXY_TEXTURE_2D: return GL_PROXY_TEXTURE_2D;
|
||||
case TextureTarget::TEXTURE_2D_ARRAY: return GL_TEXTURE_2D_ARRAY;
|
||||
case TextureTarget::PROXY_TEXTURE_2D_ARRAY: return GL_PROXY_TEXTURE_2D_ARRAY;
|
||||
case TextureTarget::TEXTURE_2D_MULTISAMPLE: return GL_TEXTURE_2D_MULTISAMPLE;
|
||||
case TextureTarget::PROXY_TEXTURE_2D_MULTISAMPLE: return GL_PROXY_TEXTURE_2D_MULTISAMPLE;
|
||||
case TextureTarget::TEXTURE_2D_MULTISAMPLE_ARRAY: return GL_TEXTURE_2D_MULTISAMPLE_ARRAY;
|
||||
case TextureTarget::PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY: return GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY;
|
||||
case TextureTarget::TEXTURE_3D: return GL_TEXTURE_3D;
|
||||
case TextureTarget::PROXY_TEXTURE_3D: return GL_PROXY_TEXTURE_3D;
|
||||
case TextureTarget::TEXTURE_RECTANGLE: return GL_TEXTURE_RECTANGLE;
|
||||
case TextureTarget::PROXY_TEXTURE_RECTANGLE: return GL_PROXY_TEXTURE_RECTANGLE;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP: return GL_TEXTURE_CUBE_MAP;
|
||||
case TextureTarget::PROXY_TEXTURE_CUBE_MAP: return GL_PROXY_TEXTURE_CUBE_MAP;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_X: return GL_TEXTURE_CUBE_MAP_POSITIVE_X;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_X: return GL_TEXTURE_CUBE_MAP_NEGATIVE_X;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_Y: return GL_TEXTURE_CUBE_MAP_POSITIVE_Y;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_Y: return GL_TEXTURE_CUBE_MAP_NEGATIVE_Y;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_Z: return GL_TEXTURE_CUBE_MAP_POSITIVE_Z;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_Z: return GL_TEXTURE_CUBE_MAP_NEGATIVE_Z;
|
||||
case TextureTarget::TEXTURE_CUBE_MAP_ARRAY: return GL_TEXTURE_CUBE_MAP_ARRAY;
|
||||
case TextureTarget::PROXY_TEXTURE_CUBE_MAP_ARRAY: return GL_PROXY_TEXTURE_CUBE_MAP_ARRAY;
|
||||
case TextureTarget::TEXTURE_BUFFER: return GL_TEXTURE_BUFFER;
|
||||
default: return GL_TEXTURE_2D;
|
||||
}
|
||||
return GL_TEXTURE_2D;
|
||||
}
|
||||
|
||||
TextureTarget ConvertGLEnumToTextureTarget(GLenum target) {
|
||||
switch (target) {
|
||||
case GL_TEXTURE_2D: return TextureTarget::TEXTURE_2D;
|
||||
case GL_PROXY_TEXTURE_2D: return TextureTarget::PROXY_TEXTURE_2D;
|
||||
case GL_TEXTURE_1D_ARRAY: return TextureTarget::TEXTURE_1D_ARRAY;
|
||||
case GL_PROXY_TEXTURE_1D_ARRAY: return TextureTarget::PROXY_TEXTURE_1D_ARRAY;
|
||||
case GL_TEXTURE_RECTANGLE: return TextureTarget::TEXTURE_RECTANGLE;
|
||||
case GL_PROXY_TEXTURE_RECTANGLE: return TextureTarget::PROXY_TEXTURE_RECTANGLE;
|
||||
case GL_TEXTURE_CUBE_MAP_POSITIVE_X: return TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_X;
|
||||
case GL_TEXTURE_CUBE_MAP_NEGATIVE_X: return TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_X;
|
||||
case GL_TEXTURE_CUBE_MAP_POSITIVE_Y: return TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_Y;
|
||||
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: return TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_Y;
|
||||
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: return TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_Z;
|
||||
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: return TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_Z;
|
||||
case GL_PROXY_TEXTURE_CUBE_MAP: return TextureTarget::PROXY_TEXTURE_CUBE_MAP;
|
||||
case GL_TEXTURE_1D: return TextureTarget::TEXTURE_1D;
|
||||
case GL_PROXY_TEXTURE_1D: return TextureTarget::PROXY_TEXTURE_1D;
|
||||
case GL_TEXTURE_1D_ARRAY: return TextureTarget::TEXTURE_1D_ARRAY;
|
||||
case GL_PROXY_TEXTURE_1D_ARRAY: return TextureTarget::PROXY_TEXTURE_1D_ARRAY;
|
||||
case GL_TEXTURE_2D: return TextureTarget::TEXTURE_2D;
|
||||
case GL_PROXY_TEXTURE_2D: return TextureTarget::PROXY_TEXTURE_2D;
|
||||
case GL_TEXTURE_2D_ARRAY: return TextureTarget::TEXTURE_2D_ARRAY;
|
||||
case GL_PROXY_TEXTURE_2D_ARRAY: return TextureTarget::PROXY_TEXTURE_2D_ARRAY;
|
||||
case GL_TEXTURE_2D_MULTISAMPLE: return TextureTarget::TEXTURE_2D_MULTISAMPLE;
|
||||
case GL_PROXY_TEXTURE_2D_MULTISAMPLE: return TextureTarget::PROXY_TEXTURE_2D_MULTISAMPLE;
|
||||
case GL_TEXTURE_2D_MULTISAMPLE_ARRAY: return TextureTarget::TEXTURE_2D_MULTISAMPLE_ARRAY;
|
||||
case GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY: return TextureTarget::PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY;
|
||||
case GL_TEXTURE_3D: return TextureTarget::TEXTURE_3D;
|
||||
case GL_PROXY_TEXTURE_3D: return TextureTarget::PROXY_TEXTURE_3D;
|
||||
case GL_TEXTURE_RECTANGLE: return TextureTarget::TEXTURE_RECTANGLE;
|
||||
case GL_PROXY_TEXTURE_RECTANGLE: return TextureTarget::PROXY_TEXTURE_RECTANGLE;
|
||||
case GL_TEXTURE_CUBE_MAP: return TextureTarget::TEXTURE_CUBE_MAP;
|
||||
case GL_PROXY_TEXTURE_CUBE_MAP: return TextureTarget::PROXY_TEXTURE_CUBE_MAP;
|
||||
case GL_TEXTURE_CUBE_MAP_POSITIVE_X: return TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_X;
|
||||
case GL_TEXTURE_CUBE_MAP_NEGATIVE_X: return TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_X;
|
||||
case GL_TEXTURE_CUBE_MAP_POSITIVE_Y: return TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_Y;
|
||||
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: return TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_Y;
|
||||
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: return TextureTarget::TEXTURE_CUBE_MAP_POSITIVE_Z;
|
||||
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: return TextureTarget::TEXTURE_CUBE_MAP_NEGATIVE_Z;
|
||||
case GL_TEXTURE_CUBE_MAP_ARRAY: return TextureTarget::TEXTURE_CUBE_MAP_ARRAY;
|
||||
case GL_PROXY_TEXTURE_CUBE_MAP_ARRAY: return TextureTarget::PROXY_TEXTURE_CUBE_MAP_ARRAY;
|
||||
case GL_TEXTURE_BUFFER: return TextureTarget::TEXTURE_BUFFER;
|
||||
default: return TextureTarget::TEXTURE_2D;
|
||||
}
|
||||
return TextureTarget::TEXTURE_2D;
|
||||
}
|
||||
|
||||
const int MAX_TEXTURE_IMAGE_UNITS = 32;
|
||||
|
@ -43,19 +43,33 @@ GLAPI GLAPIENTRY void glPixelStorei(GLenum pname, GLint param);
|
||||
#endif
|
||||
|
||||
enum class TextureTarget : unsigned int {
|
||||
TEXTURE_2D = 0,
|
||||
PROXY_TEXTURE_2D,
|
||||
TEXTURE_1D = 0,
|
||||
PROXY_TEXTURE_1D,
|
||||
TEXTURE_1D_ARRAY,
|
||||
PROXY_TEXTURE_1D_ARRAY,
|
||||
TEXTURE_2D,
|
||||
PROXY_TEXTURE_2D,
|
||||
TEXTURE_2D_ARRAY,
|
||||
PROXY_TEXTURE_2D_ARRAY,
|
||||
TEXTURE_2D_MULTISAMPLE,
|
||||
PROXY_TEXTURE_2D_MULTISAMPLE,
|
||||
TEXTURE_2D_MULTISAMPLE_ARRAY,
|
||||
PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
|
||||
TEXTURE_3D,
|
||||
PROXY_TEXTURE_3D,
|
||||
TEXTURE_RECTANGLE,
|
||||
PROXY_TEXTURE_RECTANGLE,
|
||||
TEXTURE_CUBE_MAP,
|
||||
PROXY_TEXTURE_CUBE_MAP,
|
||||
TEXTURE_CUBE_MAP_POSITIVE_X,
|
||||
TEXTURE_CUBE_MAP_NEGATIVE_X,
|
||||
TEXTURE_CUBE_MAP_POSITIVE_Y,
|
||||
TEXTURE_CUBE_MAP_NEGATIVE_Y,
|
||||
TEXTURE_CUBE_MAP_POSITIVE_Z,
|
||||
TEXTURE_CUBE_MAP_NEGATIVE_Z,
|
||||
PROXY_TEXTURE_CUBE_MAP,
|
||||
TEXTURE_CUBE_MAP_ARRAY,
|
||||
PROXY_TEXTURE_CUBE_MAP_ARRAY,
|
||||
TEXTURE_BUFFER,
|
||||
TEXTURES_COUNT
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user