Создаю процедурную текстуру размером 64x64.Каким должен быть формат для массива,который необходимо передать в функции glTexImage2D? Я создаю массив таким образом: GLuint cord = 0; pixelmap = new RGB[64*64]; for(int i=0;i<64;++i) { for (int j=0;j<64;++j) { int r = 100; int g = 255; int b = 255; pixelmap[cord].r = r; pixelmap[cord].g = g; pixelmap[cord].b = b; ++cord; } } Тоесть массив Pixelmap выглядит так:RGBRGBRGBRGB... У меня рисуются полоса красная,полоса зеленая,полоса синяя,а должны рисоваться полосы не по отдельным цветовым компонентам а смесь цветов.Накладываю я текстуру на прямоугольник: glTexCoord2f(0,0);glVertex3f(-50,0,-50); glTexCoord2f(0,1);glVertex3f(50,0,-50); glTexCoord2f(1,0);glVertex3f(50,0,50); glTexCoord2f(1,1);glVertex3f(-50,0,50);
Сдаётся мне что каждая цветовая компонента у вас int, размером соответственно 4 байта. А родной формат OGL это BGRA, где на один канал 1 байт. Или возможны чудеса с неверными параметрами glTexImage2D.