Вопрос такой, вот так инициализирую class AOpenGL : public QGLWidget
void AOpenGL::initializeGL()
{
glClearColor(0, 0, 0, 0);
glShadeModel(GL_FLAT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-zoom, zoom, -zoom, zoom, 0.1, 100);
glMatrixMode(GL_MODELVIEW);
framePix = new unsigned char[3 * texSize * texSize];
glEnable(GL_TEXTURE_2D);
glGenTextures(1, &tex);
glBindTexture(GL_TEXTURE_2D, tex);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
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_RGB, texSize, texSize, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, framePix);
delete [] framePix;
framePix = 0;
startTimer(40);
}
Затем при отрисовке обновляю тестуру tex
glBindTexture(GL_TEXTURE_2D, tex);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, quick.frameWidth, quick.frameHeight, GL_BGRA_EXT, GL_UNSIGNED_BYTE, quick.frameData);
Было установлено что машина грузится на все 100% при наличии
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
В то время как такой приём на WinAPI прекрасно работает. Почему так?