Использование буфера трафарета для получения узоров нв плоскости
Использование буфера трафарета для получения узоров нв плоскости
Пример является иллюстрацией того, как можно использовать буфер трафарета для нанесения узоров на плоскость, одним из таких узоров является тень объекта.
На сцене присутствует модель самолета, земля, взлетная полоса, разметка взлетной полосы и тень от самолета, навигация в пространстве сцены осуществляется с помощью мыши. После трудного рабочего дня вы можете расслабиться за любимой игрой онлайн тут: Стратегии онлайн.
По выбору пользователя на экран выводится содержимое буфера кадра, буфера трафарета или буфера глубины. В последних двух случаях для удобства восприятия выводится содержимое буферов не действительное, а преобразованное.
Нажимая иа цифровые клавиши или выбирая пункт всплывающего меню, можно останавливать воспроизведение сцеиы на каком-либо этапе.
Для упрощения программы я запретил изменение размеров окна, чтобы не приходилось менять размеры массивов, предназначенных для хранения содержимого буферов.
В этом примере мы впервые встречаем команду giDrawBuffer. директивно задающую, в какой буфер будет осуществляться вывод. Хотя в этой программе можно вполне обойтись и без использования этой команды воспользуемся случаем» чтобы с ней познакомиться.
previousColorBuffer : GLint; stencilVslue : GLint; begin
// считываем в массиве stencilSave содержимое нужного буфера glReadPixels (0,0, winWidth, wiiiHeight,GL_STENCIL_INDEX,GL_UNSIGNED_BVTE, GstencilSave);
// перевод значений в свое палитру For у :*- О to winHeight — 1 do
For к :¦ 0 to winWidth — 1 do begin
stencilvalue :=> stencilSave [winwidth * у + x];
colorSave[(winWidth * у + x)*3+0] :~ colors IstencilValue mod 7][0J; colorSave[(winWidth * у + x)*3+l] := colors[stencilValue mod 7][1]; colorSave [(winWidth * у + x)*3+2] colors [stencilValue mod 7J [2J; end;
Опубликовал vovan666
October 14 2013 22:15:45 ·
0 Комментариев ·
3898 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.