Здравствуйте, Аноним, Вы писали:
А>Как отрисовать в OpenGL картинку 640x480 с наименьшей потерей качетсва и скорости ?
А>Пробовал :
А>1. glDrawPixels — медленно
А>2. Через quad с текстурой — качество плохое
А>Как быть ?
Используй glDrawPixels. У него нормальная скорость, и картинку он не коробит.
Если у тебя картинка RGB то сделай вызов
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
Если RGBA
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
У меня ортогональная проекция, фон рисуется таким образом.
glDisable(GL_DEPTH_TEST);
glRasterPos2f(0, (GLfloat)m_windowHeight);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glDrawPixels(m_image.GetWidth(), m_image.GetHeight(), GL_RGB, GL_UNSIGNED_BYTE, m_image.pdata);
Все остальное рисуется поверх фона. Без тормозов почти на всех компах, даже на видео без 3D.