В общем загорелся желанием сделать молнию, но тут у меня вопросов не возникло:
- либо делаем через биллборд, который бы появлялся в рандомном месте нашего скайдома;
- либо генерировать молнию на самой полусфере через шейдер;
Но при молнии обычно освещается и небо, и земля, и облака, и другие объекты, и как тут быть? Вносить "прибамбасы" в каждый шейдер для какой то молнии? Не вариант. И тогда мне подсказали про ПОСТ ПРОЦЕССИНГ(post-processing).
Вообще то я не любитель заумных фраз, но суть этого процесса лежит в следующем:
Вывод всей сцены в текстуру, ну и дальше использование этой текстуры для различных эффектов. В моем случае что-то вроде увеличение яркости с добавлением белизны к сцене (мол молния громыхает и на миллисекунды освещает все объекты).
Так же с помощью post-processing'a делаются многие эффект, как например:
SSAO
Screen Space Ambient Occlusion (сокращённо SSAO; англ. преграждение окружающего света в экранном пространстве) — программная техника (методика) в трёхмерной компьютерной графике, которая является приближенной имитацией глобального освещения и представляет собой изменённый и усовершенствованный вариант методики Ambient occlusion. Алгоритм SSAO работает в режиме реального времени и имитирует рассеянное непрямое освещение и соответствующее затенение в трёхмерном виртуальном пространстве.
HDR
High Dynamic Range Rendering, часто сокращается до High Dynamic Range — графический эффект, применяемый в играх для наиболее выразительного рендеринга изображения при контрастном освещении сцены.
BLOOM
Bloom (англ. — свечение, произносится как блюм) — постэффект в трёхмерной графике, который используется в компьютерных и видео играх и других 3D-приложениях. Эффект используется геймдизайнерами для создания эффекта размытости света на ярких гранях сцены, эмулируя передержку камерой при съёмке, а также для добавления большей кинематографичности изображению.
BLUR
Motion blur (произносится моушн блюр) — размытие изображения при воспроизведении сцен движения или быстро движущихся объектов.
GLOW
Glow (с англ. — «отблеск», часто также употребляется «хром») — визуальный световой эффект в трёхмерной или растровой графике.
В трёхмерной графике, эффект заключается в том, что у ярких областей объекта наблюдается свечение (отблеск), из-за чего создаётся впечатление что на поверхности объекта видны солнечные блики.
и многие другие...
27 февр. 2010 г.
26 февр. 2010 г.
Звезды
25 февр. 2010 г.
Примитивы
Построение любой сцены в Direct3D, будь это обычная плоская кривая, например, график функции одной переменной, или сложная трехмерная композиция, происходит с помощью простейших геометрических примитивов, таких как точка, отрезок прямой и треугольник. Элементарным строительным материалом для перечисленных примитивов является вершина. Именно набором вершин задается тот или иной примитив.
Вот так, например, у меня рисуется ландшафт:
Как видно, он состоит из квадратов, которые в свою очередь из треугольников.
А вот полусфера (вид изнутри):
Вот так, например, у меня рисуется ландшафт:
Как видно, он состоит из квадратов, которые в свою очередь из треугольников.
А вот полусфера (вид изнутри):
24 февр. 2010 г.
Scattering (Tomoyuki Nishita)
Atmospheric Scattering by Tomoyuki Nishita
Tomoyuki Nishita, профессора Токийского университета, Япония.
Вместе со своими коллегами профессор Нишита разработал множество алгоритмов, относящихся к real-time и non-real-time графике. Объём работ и затронутых проблем очень велик.
Вот так теперь у меня выглядят рассвет и закат, благодаря его алгоритмам.
Если сравнить с моим предыдущим результатом, то тут солнце считается через шейдер, а до этого у меня был биллборд.
Биллборд - прямоугольник, лицевая сторона которого всегда ориентирована на камеру, т.е. перпендикулярна вектору взгляда.
Tomoyuki Nishita, профессора Токийского университета, Япония.
Вместе со своими коллегами профессор Нишита разработал множество алгоритмов, относящихся к real-time и non-real-time графике. Объём работ и затронутых проблем очень велик.
Вот так теперь у меня выглядят рассвет и закат, благодаря его алгоритмам.
Если сравнить с моим предыдущим результатом, то тут солнце считается через шейдер, а до этого у меня был биллборд.
Биллборд - прямоугольник, лицевая сторона которого всегда ориентирована на камеру, т.е. перпендикулярна вектору взгляда.
7 февр. 2010 г.
Scattering (Perez)
Реализовал своё первое атмосферное рассеяние по Перезу (аtmospheric scattering). Оно является одним из самых простых в реализации.
Пока что без самого солнца, но при изменении вектора освещения, довольно не плохие результаты.
Несколько скриншотов:
Пока что без самого солнца, но при изменении вектора освещения, довольно не плохие результаты.
Несколько скриншотов: