Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по OpenGL   Найти похожие ветки 

 
Chel   (2005-08-29 14:32) [0]

Я использую OpenGL для вывода спрайтов. У каждого из них есть
Z-координата, т.к. одни спрайты должны быть поверх других.
Для этого включен буфер глубины, но теперь если один оказывается
поверх другого (а верхний прозрачен), то нижний не рисуется или
рисуется "отрезанным". Т.е. OpenGL не рисует объекты, которые
закрыты другими объектами, даже если на них натянута прозрачная
текстура.
Вопрос: какой командой отключается эта функция?


 
grouzd[E]v ©   (2005-08-29 15:31) [1]

glEnable(GL_BLEND)

---
... we are walking on a thin line and you better avoid the risk ...


 
Chel   (2005-08-29 16:09) [2]

Хыхы =) Я ж говорю, что натягиваю прозрачные текстуры. Но всеравно при перекрывании спрайтами друг друга они коряво выводятся.


 
grouzd[E]v ©   (2005-08-29 16:25) [3]

> Я ж говорю, что натягиваю прозрачные текстуры
RGBA <> BLEND

---
... we are walking on a thin line and you better avoid the risk ...


 
Axis_of_Evil ©   (2005-08-29 16:28) [4]

рисуя прозрачные буфер глубины отключают, сколь я помню


 
MeF Dei Corvi ©   (2005-08-29 16:55) [5]

Есть такая вещь, как альфа-тест ;)
glDisable(GL_ALPHA_TEST)
Кстати, GL_DEPTH_TEST тоже по-моему лучше выключить.


 
Chel   (2005-08-29 17:16) [6]

Пока ничего не помогает.
> GL_DEPTH_TEST тоже по-моему лучше выключить
А как тогда Z-координату юзать?


 
MeF Dei Corvi ©   (2005-08-29 17:36) [7]


> А как тогда Z-координату юзать?

Вручную сортировать...

> то нижний не рисуется или
> рисуется "отрезанным".

По-моему ты как-то неправильно Depth Test делаешь.


 
Axis_of_Evil ©   (2005-08-29 17:47) [8]

> GL_DEPTH_TEST тоже по-моему лучше выключить
о чем и говорю
>А как тогда Z-координату юзать?

@@1
DepthTest вкл
рисуем непрозрачные объекты
DepthTest выкл
рисуем прозрачные объекты
jmp @@1

>Вручную сортировать...
наверное придется
// см полупрозрачный тор,
// который просто так корректно не выводится


 
XProger ©   (2005-08-29 17:53) [9]

В 2D использование Z-Buffer"a - роскошь...


 
Chel   (2005-08-29 17:57) [10]

Ok. Спосибо всем. Пойду сортировать. =)


 
DR0N ©   (2005-08-29 20:42) [11]

glGetFloatv(GL_CURRENT_COLOR, @LColor);
 glDisable(GL_DEPTH_TEST);
 glMatrixMode(GL_PROJECTION);
 glPushMatrix;
 glLoadIdentity;
 gluOrtho2D(0,InitResX,InitResY,0);
 glMatrixMode(GL_MODELVIEW);
 glPushMatrix;
 glLoadIdentity;
 glEnable(GL_BLEND);
 glEnable(GL_ALPHA_TEST);
 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

и рисуй что хош после этого в 2D все будет ок


 
DR0N ©   (2005-08-29 20:44) [12]

первая строчка не нужна, случайно попала =)



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
15-1138706670
YurikGL
2006-01-31 14:24
2006.02.19
ГОСТ на маркировку


1-1137581196
Igor_thief
2006-01-18 13:46
2006.02.19
Timage - Stretch


1-1137758963
jiurasdad
2006-01-20 15:09
2006.02.19
Как послать нажатие клавишь в другое приложение


4-1133550476
Хинт
2005-12-02 22:07
2006.02.19
Как избежать TerminateProcess?


3-1135066879
skulll
2005-12-20 11:21
2006.02.19
Помогите подключиться к MSSQL через DBE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский