glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)data);
. (GL_RGBA8, GL_RGBA). ; . (GL_RGBA8) (GL_RGBA). .
. OpenGL, . ; . , data, data. , OpenGL?
. :
((156 << 24) | (256 << 16) | (156 << 8) | (200 << 0))
-, 256 . 256 - 0x100, , .
, :
0x9D009CC8
RGBA , - 0x9D, - 0x00, - 0x9C, - 0xC8.
, , , , 4 , :
0xC89C009D
OpenGL, , ( ), - . , OpenGL , 0xC8, . .
OpenGL, : 8- 32- . :
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 256, 256, 0, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, (GLvoid*)data);
GL_UNSIGNED_INT_8_8_8_8 , OpenGL 32- ( ). 8 32- , - , - , - .
, , :
GLuint* data = new GLuint[256*256];
for (int y = 0; y < 256; ++y)
for (int x = 0; x < 256; ++x)
if ((x - 100)*(x - 100) + (y - 156)*(y - 156) < 75*75)
data[256*y + x] = ((0x9C << 24) | (0xFF << 16) | (0x9C << 8) | (0xC8 << 0));
else
data[256*y + x] = 0;
glBindTexture(GL_TEXTURE_2D, texid);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 256, 256, 0, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, (GLvoid*)data);
// , , , - .
; , . , , , . .