Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > OpenGL и FoxToolkit


Автор: FIaR 12.12.2008, 22:50
Или я слеп, или у фокса документация прихрамывает.
Не могу найти как включить поддержку прозрачности в FXGLVisual.
GL_BLEND - включен. Код в порядке. Проект просто перенесен на фокс, в связи с нуждой в гуях.

Вот строка для создания вижуала:
Код

new FXGLVisual(getApp(),VISUAL_DOUBLE_BUFFER|VISUAL_WINDOW|VISUAL_BEST|VISUAL_COLOR);

Автор: FIaR 15.12.2008, 14:55
Код

    FXGLVisual *vis = new FXGLVisual( getApp(), VISUAL_DOUBLE_BUFFER|VISUAL_WINDOW);
    vis->setAlphaSize(8);


Вот, всё что смог найти по этой теме, но не работает.

Автор: Rickert 16.12.2008, 06:26
Что вы хотите увидеть в результате? Дело в том, что как таковой прозрачности, в OpenGL нет. Есть яркость смешивания.
glEnable(GL_BLEND) - разрешает смешивание. glColor4* - четвёртым параметром вы указываете яркость. При это надо отключать тест глубины glDisable(GL_DEPTH_TEST) + настраивать glAphaFunc - для получения необходимого результата смешивания.
А чтобы получить прозрачность, типа: затенение по градиенту - это надо комбинировать много различных функций и называется этой маской уже.
Поэтому я повторяю вопрос: что вы хотите получить в результате?

Автор: FIaR 16.12.2008, 09:06
Код

Прозрачность реализуется с помощью специального режима смешения цветов (blending)

Но я задал вопрос совсем не для того, что бы узнать, как вкючается смешивание.
Я говорю же, всё уже готово, и в результате хочу получить то, что было до перехода на фокс. Если вопрос не совсем понятен, то как в http://www.fox-toolkit.org/ сделать минимальное приложение с OpenGL + BLEND (например прозрачный кубик). 

Если и сейчас не понятно, то вот скрины "До" и "После"
ДО
user posted image

ПОСЛЕ
user posted image

Красота, и помоему очень наглядно и понятно.

Мне вот не понятно, может созданием перед FXGLVisual нужно передать свой Pixel Format Descriptor или еще что то, что бы нижняя картинка смотрелась так же как и верхняя. Это собственно и есть вопрос.....

Автор: Rickert 16.12.2008, 09:10
FIaR, теперь ясно. Я не знаю smile

Автор: FIaR 16.12.2008, 10:40
Чувствую что дело тупиковое, займусь правкой исходников. Поправлю - отпишусь. Мало ли, понадобится кому то.

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