Прозрачность в OpenGL
Помогите с такой проблемой: Мне необходимо создать 3D модель человеческого тела, с внутренностями, Я делаю это так: сначала нахожу все необходимые компоненты на 3d max и преобразую в спец файлы(описание структуры объекта, объект типа сетка), потом вывожу на экран при помощи OpenGL. У меня все получается нормально, но т.к. внутренности находятся внутри тела, то наблюдается такой эффект: если поворачивать сцену, то тело становится как-бы прозрачным и видны все внутренности, можно ли этого избежать, чтоб тело становилось прозрачным только по моей команде и обратно становилось не прозрачным по моей команде?
Зараннее благодарен.
Здравствуйте.
Помогите с такой проблемой: Мне необходимо создать 3D модель человеческого тела, с внутренностями, Я делаю это так: сначала нахожу все необходимые компоненты на 3d max и преобразую в спец файлы(описание структуры объекта, объект типа сетка), потом вывожу на экран при помощи OpenGL. У меня все получается нормально, но т.к. внутренности находятся внутри тела, то наблюдается такой эффект: если поворачивать сцену, то тело становится как-бы прозрачным и видны все внутренности, можно ли этого избежать, чтоб тело становилось прозрачным только по моей команде и обратно становилось не прозрачным по моей команде?
Зараннее благодарен.
Скорее всего, ты в своей программе при отрисовке объекта используешь эффект GL_BLEND -он и даёт такой результат
Скорее всего, ты в своей программе при отрисовке объекта используешь эффект GL_BLEND -он и даёт такой результат
Нет я оказывается постоянно SwapBuffer вызывал, а от него мигание и происходило.
Теперь немного другое мучает:
Тело прозрачное, степень прозрачности настраивается через параметр alpha, но почему-то тело не однородно прозрачное, некоторые участки темнее, как бы рябое, объект - это сетчатый объект, строется по списку вершин, чем может быть вызвана неоднородность при прозрачном воспроизведении?
Нет я оказывается постоянно SwapBuffer вызывал, а от него мигание и происходило.
Теперь немного другое мучает:
Тело прозрачное, степень прозрачности настраивается через параметр alpha, но почему-то тело не однородно прозрачное, некоторые участки темнее, как бы рябое, объект - это сетчатый объект, строется по списку вершин, чем может быть вызвана неоднородность при прозрачном воспроизведении?
ИМХО, это из-за освещения.
ИМХО, это из-за освещения.
но если вообще glEnable(GL_LIGHTING); или
glEnable(GL_LIGHT0); не вызывать вообще, то объект будет совсем темным и прозрачность не будет ощущаться???
но если вообще glEnable(GL_LIGHTING); или
glEnable(GL_LIGHT0); не вызывать вообще, то объект будет совсем темным и прозрачность не будет ощущаться???
Если glDisable(GL_LIGHTNING), то у тебя просто все объекты будут однородно яркие, если уж цвет сделаешь красный, то он будет строго красный, без затемнения или осветления.