Надеюсь, этот пример помог вам лучше уяснить многие вопросы, связанные, с буферами.
Эффект отражения плоским зеркалом реализуется в OpenGL способом, похожим на то, что мы использовали для тени — объекты рисуются дважды, над и под поверхностью отражения. Если у вас нет времени ходить по магазинам то посетите интернет магазины тут: http://zakazhi-online.ru/каталоги/интернет-магазиня-перми.html.
Для такого эффекта достаточно одного смешения цветов, буфер трафарета используется здесь для того, чтобы фальшивая система не выглядывала з». пределами зеркальной поверхности.
показан один из моментов работы следующего примера, распо-! лягающегося в подкаталоге Ех73
Рис. 4.47.
подходящее значение. Этот аргумент должен быть GL ZERO или GLINCR. не при таких значениях на поверхности отраженных объектов появляется непрошенный узор.
Мы уже встречали эту проблему и знаем, что она связана с наложение» альфа-компонентов для замкнутых фигур, знаем также, что она легко решается сортировкой поверхностей.
Привожу окончательный вариант соответствующего фрагмента кода: можетг убедиться, что после внесения изменений все работает совершенно корректно:
glStencilFunc lGL_EQUAL, 1, SFFFFI,-
glstencilGp(GL_KEEP, GL_KEЈP, GL_INCR);// здесь изменен третий аргумент glPushMatrix;
glScalefd, -1, 1);
glCullFace (GL_FRONTi,-//сортировка поверхностей, внутренняя и внешня?
glEnabie (GL_CULL_FACEJ; // поверхности воспроизводятся отдельно
DrawObjects;
glCullFace (GLBACK) ;
DrawObjects;
glDisable (GL_CULL_FACE); glPopMatrix;
Познакомимся теперь, как можно создавать эффект многократного отражения. Рис. 4.48 демонстрирует работу следующего примера, проекта из подкаталога Ех74: на стенах комнаты висят два зеркала, одно напротив другогс объекты сиены многократно отражаются в этих зеркалах.
Опубликовал vovan666
October 10 2013 18:30:04 ·
0 Комментариев ·
3140 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.