Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] QGLWidget


Автор: Ches 19.11.2008, 11:15
Использую QGLWidget для отрисовки 3D сцены. На сцене из полигонов строится поверхность. На полигоны натягивается текстура. 
Код

texture = bindTexture(QPixmap(QString("send.png")), GL_TEXTURE_2D);
...
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture);

glTexCoord2d(..., ...);
glVertex3f(..., ..., ...);
glTexCoord2d(..., ...);
glVertex3f(..., ..., ...);
glTexCoord2d(..., ...);
glVertex3f(..., ..., ...);
glTexCoord2d(..., ...);
glVertex3f(..., ..., ...);

glDisable(GL_TEXTURE_2D);
deleteTexture(texture);


Под win работает хорошо, а вот под Lin появляются "артефакты". Такое ощущение, что нет сглаживание текстуры. В чем может быть дело?

Автор: JackYF 20.11.2008, 20:24
Цитата(Ches @  19.11.2008,  10:15 Найти цитируемый пост)
В чем может быть дело? 

Возможно, драйвера? Пробовал на другом компьютере с Linux?

Автор: ecspertiza 21.11.2008, 11:12
А попробуй для OpenGl, использовать библиотеку SDL, кроссплатформенная с QT работает отлично, есть мануал.

Автор: Ches 24.11.2008, 08:30
Цитата(JackYF @  20.11.2008,  20:24 Найти цитируемый пост)
Возможно, драйвера? Пробовал на другом компьютере с Linux? 

Нет, пока нет такой возможности. 
nVidia 8600GT, а вот драйвер не помню какой, или последний, или предпоследний проприетарный

Цитата(ecspertiza @  21.11.2008,  11:12 Найти цитируемый пост)
А попробуй для OpenGl, использовать библиотеку SDL, кроссплатформенная с QT работает отлично, есть мануал. 

можно, конечно, но хочется разобраться именно с куте, потому как должно работать.

пробовал
Код

glBindTexture(GL_TEXTURE_2D, texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);

текстура пропадает, а под виндой всё нормально



Автор: Ches 25.11.2008, 08:16
Нужно было добавить 
Код

glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)