Без темы
<<  Некоторые аспекты адаптации контактолексем под влиянием сербского языка в Русском интернет-дискурсе Некоторые специфические возможности  >>
Пример использования billboard-ов - системы частиц
Пример использования billboard-ов - системы частиц
Пример использования billboard-ов - системы частиц
Пример использования billboard-ов - системы частиц
Пример использования billboard-ов - системы частиц
Пример использования billboard-ов - системы частиц
L
L
++:
++:
Некоторые приемы полигональной графики - рендеринг травы
Некоторые приемы полигональной графики - рендеринг травы
Некоторые приемы полигональной графики - рендеринг травы
Некоторые приемы полигональной графики - рендеринг травы
Некоторые приемы полигональной графики - рендеринг травы
Некоторые приемы полигональной графики - рендеринг травы
Некоторые приемы полигональной графики - рендеринг в текстуру
Некоторые приемы полигональной графики - рендеринг в текстуру
Некоторые приемы полигональной графики - рендеринг в текстуру
Некоторые приемы полигональной графики - рендеринг в текстуру
Некоторые приемы полигональной графики - рендеринг в текстуру
Некоторые приемы полигональной графики - рендеринг в текстуру
J
J
Некоторые приемы полигональной графики - рендеринг в текстуру
Некоторые приемы полигональной графики - рендеринг в текстуру
Картинки из презентации «Некоторые приемы полигональной графики» к уроку информатики на тему «Без темы»

Автор: Alex. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Некоторые приемы полигональной графики.ppt» со всеми картинками в zip-архиве размером 661 КБ.

Некоторые приемы полигональной графики

содержание презентации «Некоторые приемы полигональной графики.ppt»
Сл Текст Сл Текст
1Некоторые приемы полигональной 19частицах-точках, а в вытянутых линиях. Это
графики. Все,что делает GPU - это вывод могут быть следы от быстро летящий частиц,
полигонов. Наша задача - свести основные лучи света и т.п.
эффекты к работе с гранями. При этом часто 20Некоторые приемы полигональной графики
нужно производить специальную настройку - «толстые линии». Основные положения:
граней. Переложим на GPU. Вершинные данные: (pt, otherPt, tex0).
2Некоторые приемы полигональной графики рисуем как четырехугольники (GL_QUADS)
- billboards. Billboard - это грань, задаем две точки А и В (координаты второй
всегда параллельная плоскости экран. Любая точки можно передать через текстурные
ее точка задается уравнением. up. view. P. координаты Необходимо отрезок АВ,
right. P’ = P + s * right + t * up. получающийся при проектировании исходных
3Пример использования billboard-ов - точек на экран сделать толще и длиннее.
системы частиц. (A,B,(0,0)) (B,A,(0,1)) (B,A,(1,1))
4Некоторые приемы полигональной графики (A,B,(1,0)).
billboards. В лоб - Р - положение частицы 21Некоторые приемы полигональной графики
right, up - ориентация камеры. P+up+right, - «толстые линии». (A,B,(0,0)).
tex=(1,1). P+up tex=(0,1). glBegin ( (B,A,(0,1)). (A,B,(1,0)). thickness.
GL_QUADS); glTexCoord2f ( 0, 0 ); (B,A,(1,1)).
glVertex3fv ( p ); glTexCoord2f ( 0, 1 ); 22Некоторые приемы полигональной графики
glVertex3fv ( p + right); glTexCoord2f ( - «толстые линии». Float4 start = mul (
1, 1 ); glVertex3fv ( p + up + right ); mvp, in.Pos ); // current point float4 end
glTexCoord2f ( 1, 0 ); glVertex3fv ( p + = mul ( mvp,in.Tex1 ); // other point //
up ); glEnd (); P tex=(0,0). P+right map to screen float2 start2d = start.Xy /
tex=(1,0). start.W; float2 end2d = end.Xy / end.W;
5--: Некоторые приемы полигональной float2 dir2d = normalize ( end2d - start2d
графики billboards. Вся работа целиком на ); if ( in.Tex0.Y > 0.5 ) // определить
CPU Постоянный большой объем передаваемых направление шага thickness = -thickness;
GPU данных Во многих случаях даже для // вбок if ( in.Tex0.X > 0.5 ) //
анимации законы крайне просты (т.е. могут определить направление вперед dir2d =
быть легко переложены на GPU). -dir2d; // направление вбок float2 side2d
6Некоторые приемы полигональной графики = float2 ( dir2d.Y, dir2d.X ); out.Pos =
billboards через GPU. Передаваемые данные in.Pos + thickness * side2d; out.Tex =
(вершинные): (p, (0,0)), (p, (0,1)), (p, in.Tex0;
(1,1)), (p, (1,0)). Вершинный шейдер: 23L. J. Некоторые приемы полигональной
Передаваемые данные (глобальные): графики - «толстые линии». Если проекции А
camera.up, camera.right, time, out.tex = и В почти совпадают, то вместо толстой
in.tex; out.color = in.color; out.pos = линии получаем, тонкий отрезок. Тогда
mul ( mvp, in.pos + in.tex.tex.x * right + будет сдвигать точку не только вбок на
in.tex.y * up ); величину thickness, но и вперед/назад на
7Некоторые приемы полигональной графики величину offset. (A,B,(0,0)). offset.
billboards через GPU. Пример: - разлет (A,B,(1,0)). (B,A,(0,1)). (B,A,(1,1)).
частиц под действием силы тяжести. 24Некоторые приемы полигональной графики
Решение: - всю анимацию можно переложить - рендеринг в текстуру.
на GPU - тогда данные в вершинах вообще не 25Некоторые приемы полигональной графики
изменяются - данные в вершинах поместим в - рендеринг в текстуру. Традиционный
VBO - единственный передаваемый на каждом подход - отразить камеру относительно
кадре параметр - это время. зеркала.
8Некоторые приемы полигональной графики 26L. J. Некоторые приемы полигональной
billboards через GPU. Вершинный шейдер: графики - рендеринг в текстуру. Однако,
float t = mod ( time, 4.0 ); float alpha = если у нас поверхность с рябью, то такой
1 - 0.25 * t; float3 pos = in.pos + подход непосредственно не приемлем.
in.tex.tex.x * right + in.tex.y * up; Попробуем при помощи отраженной камеры
out.tex = in.tex; out.color = in.color; построить отраженное изображение сцены в
out.color.a = alpha; out.pos = mul ( mvp, текстуру, а потом исказим ее при наложении
pos + 0.5 * t * float3 ( 0, 0, -1.0 ); Для рендеринга в текстуру
9?: !: Некоторые приемы полигональной (render-to-texture, RTT) можно
графики billboards через GPU. Что делать использовать FBO или р-буфер.
когда время жизни частицы выйдет. 27Некоторые приемы полигональной графики
Переиспользуем ее. Чтобы все частицы не - рендеринг в текстуру. Текстура с
переиспользовались в одно и тоже время, отраженной сценой.
добавим к частице фазу - сдвиг по времени 28L. Некоторые приемы полигональной
Заодно можем добавить начальную скорость графики - рендеринг в текстуру. Полученная
частицы Поместим все это в tex1 (vel.x, таким образом текстура уже содержит в себе
vel.y, vel.z, phase). изображение с примененным перспективным
10Некоторые приемы полигональной графики преобразованием, поэтому ее нельзя
billboards через GPU. float3 vel = накладывать на поверхность зеркала обычным
in.tex1.xyz; float phase = in.tex1.w; образом - тогда она еще раз подвергнется
float t = mod ( time + phase, 4.0 ); float перспективному преобразованию.
alpha = 1 - 0.25 * t; float3 pos = in.pos 29J. Некоторые приемы полигональной
+ in.tex.tex.x * right + in.tex.y * up; графики - рендеринг в текстуру. Поместим в
out.tex = in.tex; out.color = in.color; положении камеры проектор, проектирующий
out.color.a = alpha; out.pos = mul ( mvp, полученную картинку на сцену.
pos + t * vel+ 0.5 * t * float3 ( 0, 0, 30J. Некоторые приемы полигональной
-1.0 ); графики - рендеринг в текстуру. Для
11++: Некоторые приемы полигональной моделирования проектора возьмем в качестве
графики billboards через GPU. Еще пример: матрицы преобразования текстурных
Вся анимация полностью на GPU Минимум координат (GL_TEXTURE) произведение
передаваемых данных. Огонь как система модельной и проектирующей матриц,
частиц полностью на GPU. использованных при построении отражения
12Некоторые приемы полигональной графики (они переведут исходные координаты вершин
огонь как система частиц на GPU. Fire в [-1,1]*[-1,1]. А затем переведем в
particle: положение температура цвет [0,1]*[0,1] посредством переноса и
(зависит от температуры) скорость. vel = масштабирования.
in.vel + t * acc; temp = in.temp - t * kt; 31Некоторые приемы полигональной графики
pos = in.pos + in.vel * t + 0.5 * t * t * - рендеринг в текстуру. Если при
acc; const float4 c1 = float4 ( ); const использовании такой матрицы в качестве
float4 c2 = float4 ( ); const float4 c3 = текстурных координат вершины задать
float4 ( ); if ( temp < temp1 ) color = трехмерный вектор ее пространственных
lerp ( c1, c2, temp / temp1 ); else color координат, то получающиеся текстурные
= lerp ( c2, c3, (temp - temp1)/(temp2 - координаты будут соответствовать той точке
temp1); текстуры, которая является проекцией
13L. J. Некоторые приемы полигональной данной вершины при отражении. glMatrixMode
графики - рендеринг травы. Выводить ( GL_TEXTURE ); glPushMatrix ();
отдельно каждую травинку потребует слишком glLoadIdentity (); glTranslatef ( 0.5,
больших затрат. А анимация :((((. А зачем 0.5, 0 ); glScalef ( 0.5, 0.5, 1 );
выводит по одной травинке - будем выводить glMultMatrixf ( proj ); glMultMatrixf ( mv
сразу по много. );
14++: Некоторые приемы полигональной 32Некоторые приемы полигональной графики
графики - рендеринг травы. Будем - рендеринг в текстуру. Если при помощи
использовать billboard-ы: Распределим на шумовой функции слегка искажать текстурные
ландшафте ряд точек, с каждой точкой координаты для каждого фрагмента, то мы
свяжем свой billboard. Полностью получим вполне правдоподобно выглядящую
статическая геометрия (т.е. не надо заново рябь. float4 main ( FragmentData IN,
передавать) Легкость создания Требуется не uniform float time, uniform float4x4
так много полигонов. texMatrix, uniform sampler3D noiseMap,
15Некоторые приемы полигональной графики uniform sampler2D reflectionMap ) : COLOR
- рендеринг травы. { float3 ncoord = float3 ( IN.p.x, IN.p.y
16Некоторые приемы полигональной графики + time, IN.p.z ) * 1.1; float3 noise =
- рендеринг травы. Переложим на GPU и tex3D ( noiseMap, ncoord ).rgb; float4 tex
анимацию травы Для этого достаточно = mul ( texMatrix, IN.p ) + float4 ( noise
смещать верхние две вершины (где tex.y * 0.05, 0.0 ); float3 reflColor =
> 0.5) как функцию от точки Р и времени tex2Dproj ( reflectionMap, tex.xyw ).xyz *
t. if ( in.tex.y > 0.5 ) { float angle1 0.8; return float4 ( reflColor, 1.0 ); }.
= c0 * time + c1 * in.pos.x + c2 * 33Некоторые приемы полигональной графики
in.pos.z; float angle2 = c3 * time + c4 * - рендеринг в текстуру. Дополнительные
in.pos.y + c5 * in.pos.z; out.pos += возможности - можно в специальной текстуре
0.05*float4 ( sin ( angle1 ), cos ( angle2 занести глубину воды в точке. Тогда
), 0, 0 ); }. значение глубины, равное нулю, означает
17L. J. Некоторые приемы полигональной отсутствие воды (и отражения). Остальные
графики - рендеринг травы. Трава значения используются для управления
получается слишком одинаково выглядящей. величиной искажений - чем больше глубина,
Давайте вместо billboard-ов будем тем больше искажение и характерный размер
использовать набор граней заранее заданной искажений (т.е. значение глубины изменяет
ориентации (анимируя верхние вершины). не только добавляемое к текстурным
18Некоторые приемы полигональной графики координатам искажение, но и масштабирует
- рендеринг травы. текстурные координаты, используемые для
19Некоторые приемы полигональной графики обращения к шумовой функции.
- «толстые линии». В ряде случаев 34Некоторые приемы полигональной графики
возникает необходимость не в - рендеринг в текстуру.
Некоторые приемы полигональной графики.ppt
http://900igr.net/kartinka/informatika/nekotorye-priemy-poligonalnoj-grafiki-62474.html
cсылка на страницу

Некоторые приемы полигональной графики

другие презентации на тему «Некоторые приемы полигональной графики»

«Прием делегаций» - Кафе «Политехник». Командирование специалистов. Услуги оказываемые БЦНТС с провинциями Китая. Организация посещения: - Замковых комплексов: Мир, Несвиж, Лидский замок и т.д. - Музейных комплексов : Дудутки, Строчицы. БЦНТС с провинциями КНР. Подготовительная работа Разработка экспозиций и мини- выставок продукции принимающей организации.

«1С-Битрикс: Маркетплейс» - Интернет-магазин стройматериалов. Что такое «сайты из коробок». Сайт агентства недвижимости. Интернет-магазин бытовой техники. Интернет-магазин одежды. Запуск интернет-магазина за 4 часа. 1С-Битрикс: маркетплейс. Типовые интернет-магазины. Новые типовые интернет-магазины. Салон красоты. Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс».

«Информационные процессы 7 класс» - Понятие о процессе. Получение информации. Информационные процессы. Источник. Хранение информации. Персональный компьютер – основное техническое средство информационной технологии. Канал связи. Применение компьютера многогранно. Информационные процессы в живой природе. Получатель. Передача информации.

«Архивы файлов» - Самораспаковывающийся архив. Архиватор. Распаковка архива. Открытие имеющегося архива (без распаковки файла). Утилиты. Архивирование файлов. Архиватор WinZip. EXE file Нажать Make. Создание самораспаковывающегося архива. Удаление файлов из архива. Инсталляция программ. В процессе инсталляции обратите внимание на:

«Презентация со звуком» - Связанный файл. Как настроить объем встраиваемого файла? Перемещение презентации со звуковым файлом. 1. Запустите программу. Обратите внимание на расширение звукового файла. Корректно работает Internet Explorer. Пуск - Nero StartSmart (открываете программу). Одно неудобство - голосовых файлов с таким расширением не бывает.

«Мобильные сети» - Эра смартфонов. Фундаментальные возможности. Динамика трафика. Изучение проблемы качества сервиса. Обеспечение удовлетворенности качеством сервиса. Риски OPEX при росте пропускной способности. Динамика мобильного Интернета. Преимущества SQM и CEM. Анализ мошенничества. Преимущества. Исследование проблемы качества.

Без темы

778 презентаций
Урок

Информатика

130 тем
Картинки
900igr.net > Презентации по информатике > Без темы > Некоторые приемы полигональной графики