LINUX.ORG.RU

«Правильные значения» для glXChooseVisual


0

0

Собсно столкнулся с тем, что в некоторых сырцах OpenGL-игрушек для attribList значения GLX_RED/BLUE/GREEN_SIZE указываются единицей, хотя логично указывать по 8 бит(в сумме 24битный цвет). Для GLX_DEPTH_SIZE тоже указывают 1, но вроде карточки работают с глубиной в 16 или 24 бита. В общем вопрос - какой вариант правильный, и как вы получаете VisualInfo? :) Просто возникла такая трабла, что при использовании 8-бит на "размеры" цвета, и перебор разных значений глубины z-буфера, без проблем все работает на NVIDIA/ATI карточках, но вот некоторые Intel почему-то ничего не возвращают по glXChooseVisual. И пока только догадки, что это происходит из-за "неправильных" значений в attribList.

★★★★

Для RGB всегда использовал 8, а для DEPTH 16. На интелах, вроде, не пробовал. VisualInfo получал используя glXGetVisualFromFBConfig(). Могу привести код, если надо.

undet
()
Ответ на: комментарий от undet

>а для DEPTH 16

странно, ведь только довольно старые карточки юзают 16-бит, все современные - 24. Но это ладно, у меня в либе прогонялись все значения(16 и 24, с включенным и выключенным DoubleBuffer, и тоже с 8 битами на цвет), но на "00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)" всеравно завалилось. Разве что GLX_ALPHA_SIZE со значением 8 ему не понравилось...

>VisualInfo получал используя glXGetVisualFromFBConfig()

Эммм, это "GLX 1.3 and later", так что не очень "православно" :)

Andru ★★★★
() автор топика
Ответ на: комментарий от Andru

> Эммм, это "GLX 1.3 and later", так что не очень "православно" :)

А почему бы и нет? Вы ведь не используете OpenGL только 1.0 :) Что-то на эту тему есть в исходниках quake3, там тоже эти значения выбираются в рантайме. Рекомендую к прочтению :)

undet
()
Ответ на: комментарий от undet

>>А почему бы и нет? Вы ведь не используете OpenGL только 1.0 :)

Ну для обычных не 3D-игрушек функционал обходится версией 1.1 ))

>>Что-то на эту тему есть в исходниках quake3, там тоже эти значения выбираются в рантайме. Рекомендую к прочтению :)

Че-то забыл про них ) Глянул SDL, так там 16-бит глубины и там формула 3,3,2 для цвета 8) Посмотрел кваку - хм, 24 на глубину по дефолту, и формула цвета либо 8,8,8 либо 4,4,4. Видать таки тому интелу не понравился принудительный GLX_ALPHA_SIZE(глянул один модуль из Nexuiz, так там это включается вместе с STENCIL'ом), т.к. у меня тоже перебирается несколько вариантов.

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