Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Прозрачность в OpenGL

15K
03 февраля 2006 года
Bulatik
5 / / 03.02.2006
Здравствуйте.
Помогите с такой проблемой: Мне необходимо создать 3D модель человеческого тела, с внутренностями, Я делаю это так: сначала нахожу все необходимые компоненты на 3d max и преобразую в спец файлы(описание структуры объекта, объект типа сетка), потом вывожу на экран при помощи OpenGL. У меня все получается нормально, но т.к. внутренности находятся внутри тела, то наблюдается такой эффект: если поворачивать сцену, то тело становится как-бы прозрачным и видны все внутренности, можно ли этого избежать, чтоб тело становилось прозрачным только по моей команде и обратно становилось не прозрачным по моей команде?
Зараннее благодарен.
10K
05 февраля 2006 года
Avt_Phenix
17 / / 03.10.2005
Цитата:
Originally posted by Bulatik
Здравствуйте.
Помогите с такой проблемой: Мне необходимо создать 3D модель человеческого тела, с внутренностями, Я делаю это так: сначала нахожу все необходимые компоненты на 3d max и преобразую в спец файлы(описание структуры объекта, объект типа сетка), потом вывожу на экран при помощи OpenGL. У меня все получается нормально, но т.к. внутренности находятся внутри тела, то наблюдается такой эффект: если поворачивать сцену, то тело становится как-бы прозрачным и видны все внутренности, можно ли этого избежать, чтоб тело становилось прозрачным только по моей команде и обратно становилось не прозрачным по моей команде?
Зараннее благодарен.


Скорее всего, ты в своей программе при отрисовке объекта используешь эффект GL_BLEND -он и даёт такой результат

15K
06 февраля 2006 года
Bulatik
5 / / 03.02.2006
Цитата:
Originally posted by Avt_Phenix
Скорее всего, ты в своей программе при отрисовке объекта используешь эффект GL_BLEND -он и даёт такой результат


Нет я оказывается постоянно SwapBuffer вызывал, а от него мигание и происходило.
Теперь немного другое мучает:
Тело прозрачное, степень прозрачности настраивается через параметр alpha, но почему-то тело не однородно прозрачное, некоторые участки темнее, как бы рябое, объект - это сетчатый объект, строется по списку вершин, чем может быть вызвана неоднородность при прозрачном воспроизведении?

255
06 февраля 2006 года
Dart Bobr
1.4K / / 09.04.2004
Цитата:
Originally posted by Bulatik
Нет я оказывается постоянно SwapBuffer вызывал, а от него мигание и происходило.
Теперь немного другое мучает:
Тело прозрачное, степень прозрачности настраивается через параметр alpha, но почему-то тело не однородно прозрачное, некоторые участки темнее, как бы рябое, объект - это сетчатый объект, строется по списку вершин, чем может быть вызвана неоднородность при прозрачном воспроизведении?


ИМХО, это из-за освещения.

15K
07 февраля 2006 года
Bulatik
5 / / 03.02.2006
Цитата:
Originally posted by Dart Bobr
ИМХО, это из-за освещения.


но если вообще glEnable(GL_LIGHTING); или
glEnable(GL_LIGHT0); не вызывать вообще, то объект будет совсем темным и прозрачность не будет ощущаться???

15K
03 марта 2006 года
PAV
16 / / 03.03.2006
Цитата:
Originally posted by Bulatik
но если вообще glEnable(GL_LIGHTING); или
glEnable(GL_LIGHT0); не вызывать вообще, то объект будет совсем темным и прозрачность не будет ощущаться???



Если glDisable(GL_LIGHTNING), то у тебя просто все объекты будут однородно яркие, если уж цвет сделаешь красный, то он будет строго красный, без затемнения или осветления.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог