Texture stuff

This commit is contained in:
korenkonder
2024-04-15 15:41:52 +03:00
parent 55e9e8681b
commit 7cbd64fe0f
2 changed files with 20 additions and 4 deletions
+11 -4
View File
@@ -447,19 +447,19 @@ static void texture_get_format_type_by_internal_format(GLenum internal_format, G
GLenum _type;
switch (internal_format) {
case GL_ALPHA8:
_format = GL_ALPHA;
_format = GL_R;
_type = GL_UNSIGNED_BYTE;
break;
case GL_LUMINANCE8:
_format = GL_LUMINANCE;
_format = GL_R;
_type = GL_UNSIGNED_BYTE;
break;
case GL_LUMINANCE8_ALPHA8:
_format = GL_LUMINANCE_ALPHA;
_format = GL_RG;
_type = GL_UNSIGNED_BYTE;
break;
case GL_INTENSITY8:
_format = GL_INTENSITY;
_format = GL_R;
_type = GL_UNSIGNED_BYTE;
break;
case GL_RGB5:
@@ -698,6 +698,13 @@ static texture* texture_load_tex(texture_id id, GLenum target,
swizzle[3] = GL_GREEN;
glTexParameteriv(target, GL_TEXTURE_SWIZZLE_RGBA, swizzle);
break;
case GL_INTENSITY8:
swizzle[0] = GL_RED;
swizzle[1] = GL_RED;
swizzle[2] = GL_RED;
swizzle[3] = GL_RED;
glTexParameteriv(target, GL_TEXTURE_SWIZZLE_RGBA, swizzle);
break;
}
GLuint working_internal_format = texture_get_working_internal_format(internal_format);
+9
View File
@@ -2078,6 +2078,9 @@ void GLAPIENTRY glTexImage2DDLL(GLenum target, GLint level, GLint internalformat
case GL_LUMINANCE8_ALPHA8:
_internalformat = GL_RG8;
break;
case GL_INTENSITY8:
_internalformat = GL_R8;
break;
default:
_internalformat = internalformat;
break;
@@ -2104,6 +2107,12 @@ void GLAPIENTRY glTexImage2DDLL(GLenum target, GLint level, GLint internalformat
glTexParameteriDLL(target, GL_TEXTURE_SWIZZLE_B, GL_RED);
glTexParameteriDLL(target, GL_TEXTURE_SWIZZLE_A, GL_GREEN);
break;
case GL_INTENSITY8:
glTexParameteriDLL(target, GL_TEXTURE_SWIZZLE_R, GL_RED);
glTexParameteriDLL(target, GL_TEXTURE_SWIZZLE_G, GL_RED);
glTexParameteriDLL(target, GL_TEXTURE_SWIZZLE_B, GL_RED);
glTexParameteriDLL(target, GL_TEXTURE_SWIZZLE_A, GL_RED);
break;
}
}