Texture stuff
This commit is contained in:
+11
-4
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user