LINUX.ORG.RU
ФорумGames

[opengl][qt][gluBuild2DMipmaps] segfault

 ,


0

0

Пытаюсь сгенерировать текстуру.

gluBuild2DMipmaps(GL_TEXTURE_2D, 4, image.width(), image.height(), GL_RGBA, GL_UNSIGNED_BYTE, image.bits());

На этой строке вылезает Segmentation fault. Параметры image (размеры, формат) в норме. Под виндой тот же код работает без нареканий. Исходное изображение имеет размеры не кратные степени двойки. glTexImage2D работает с изображением кратным степени двойки.

Про gluBuild2DMipmaps пишут нехорошее.

Вопросы:
1) Как заставить работать gluBuild2DMipmaps (Ubuntu 10.04)?
2) Что использовать для генерации текстур с размерами не кратными двойке, если не gluBuild2DMipmaps? Самому масштабировать - лень.

Минимальный компилируемый кусок кода, полагаю, стоит приложить.

Amp ★★★
()

> 2) Что использовать для генерации текстур с размерами не кратными двойке, если не gluBuild2DMipmaps?

glFramebufferTexture2DEXT + glDrawPixels :)))

arsi ★★★★★
()

> 2) Что использовать для генерации текстур с размерами не кратными двойке, если не gluBuild2DMipmaps? Самому масштабировать - лень.

1. Так а кто будет проверять наличие расширения GL_ARB_texture_non_power_of_two?

2. Даже при наличии расширения GL_ARB_texture_non_power_of_two ширина текстуры (в байтах) должна быть кратна 4. Иначе можно получить кривое изображение в текстуре.

3. Что делает gluBuild2DMipmaps не знаю, т.к. GLU не использую. Но, возможно, оно проверяет наличие GL_ARB_texture_non_power_of_two и корректирует размер текстуры, но ведь память в image.bits() выделена только для argb * width * heigth.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.