Skip to content

Commit c4af82b

Browse files
committed
tr_image: detect RED images
1 parent 17dcadc commit c4af82b

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/engine/renderer/tr_image.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,6 +1093,31 @@ void R_UploadImage( const char *name, const byte **dataArray, int numLayers, int
10931093

10941094
internalFormat = hasAlpha ? GL_RGBA8 : GL_RGB8;
10951095
}
1096+
1097+
if ( internalFormat == GL_RGB8 )
1098+
{
1099+
c = image->width * image->height;
1100+
scan = dataArray[0];
1101+
1102+
bool hasRGB = false;
1103+
1104+
for ( i = 0; i < c * 4; i += 4 )
1105+
{
1106+
if ( scan[ i + 1 ] != 0 )
1107+
{
1108+
hasRGB = true;
1109+
break;
1110+
}
1111+
1112+
if ( scan[ i + 2 ] != 0 )
1113+
{
1114+
hasRGB = true;
1115+
break;
1116+
}
1117+
}
1118+
1119+
internalFormat = hasRGB ? GL_RGB8 : GL_RED;
1120+
}
10961121
}
10971122

10981123
Log::Debug( "Uploading image %s (%d×%d, %d layers, %0#x type, %0#x format)", name, scaledWidth, scaledHeight, numLayers, image->type, internalFormat );

0 commit comments

Comments
 (0)