если я использую этот вид картирования
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
моя текстура работает нормально, но я хочу избавиться от эффекта блеска пикселей, как это
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, width, height, GL_RGB, GL_UNSIGNED_BYTE, data);
Я пробовал с разными размерами (1024×1024, 512×512, 256×256, 128×128, 64×64) с .jpg и .bmp, и эффект всегда был примерно таким.
Предполагая, что ваша первая версия без mipmaps работает и что вы используете одни и те же входные данные в обеих версиях: Параметр format gluBuild2DMipmaps
неправильно. Кажется, у вас есть данные RGBA, но скажите OpenGL, что это RGB.
Других решений пока нет …