MCPcopy Create free account
hub / github.com/BohemiaInteractive/CWR / InitGLPixelFormat

Function InitGLPixelFormat

engine/PoseidonGL33/TextureGL33_Init.cpp:75–129  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73}
74
75void InitGLPixelFormat(TextureDescGL33& desc, PacFormat format, bool enableDXT)
76{
77 desc.compressed = false;
78 switch (format)
79 {
80 case PacDXT1:
81 desc.internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
82 desc.compressed = true;
83 break;
84 case PacDXT3:
85 case PacDXT2:
86 desc.internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
87 desc.compressed = true;
88 break;
89 case PacDXT5:
90 case PacDXT4:
91 desc.internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
92 desc.compressed = true;
93 break;
94 case PacARGB1555:
95 desc.internalFormat = GL_RGB5_A1;
96 desc.pixelFormat = GL_BGRA;
97 desc.pixelType = GL_UNSIGNED_SHORT_1_5_5_5_REV;
98 break;
99 case PacRGB565:
100 desc.internalFormat = GL_RGB565;
101 desc.pixelFormat = GL_RGB;
102 desc.pixelType = GL_UNSIGNED_SHORT_5_6_5;
103 break;
104 case PacARGB4444:
105 desc.internalFormat = GL_RGBA4;
106 desc.pixelFormat = GL_BGRA;
107 desc.pixelType = GL_UNSIGNED_SHORT_4_4_4_4_REV;
108 break;
109 case PacAI88:
110 desc.internalFormat = GL_RG8;
111 desc.pixelFormat = GL_RG;
112 desc.pixelType = GL_UNSIGNED_BYTE;
113 break;
114 case PacARGB8888:
115 desc.internalFormat = GL_RGBA8;
116 desc.pixelFormat = GL_BGRA;
117 desc.pixelType = GL_UNSIGNED_INT_8_8_8_8_REV;
118 break;
119 case PacP8:
120 desc.internalFormat = GL_R8;
121 desc.pixelFormat = GL_RED;
122 desc.pixelType = GL_UNSIGNED_BYTE;
123 Fail("Palette textures obsolete");
124 break;
125 default:
126 Poseidon::Foundation::ErrorMessage("Texture has bad pixel format (GL).");
127 break;
128 }
129}
130
131#define MIN_MIP_SIZE 4
132

Callers 3

InitDescMethod · 0.85
UploadToGPUMethod · 0.85

Calls 1

ErrorMessageFunction · 0.85

Tested by

no test coverage detected