УДК 004.4(06) Технологии разработки программных систем К.В. ЮХИН Производственная фирма “Логос”, Москва ВИЗУАЛИЗАЦИЯ ОБЛАКОВ В СИСТЕМАХ РЕАЛЬНОГО ВРЕМЕНИ В работе предложен метод визуализации облаков для систем реального времени. Для тренажёров авиатехники необходима реалистичная визуализация облаков и прохождения полноразмерных объектов сквозь них. Для эффективной визуализации облаков, можно предположить, что облака обладают неизменной формой и оптическими свойствами на промежутке времени моделирования. В основе представленного метода лежит двухпроходный алгоритм, представленный в [1]. Во время первого прохода вычисляется затенение облака. На втором проходе происходит визуализация облака с использованием данных, полученных на первом проходе. Основные изменения, которые происходят со светом при прохождении через облако – это рассеивание и поглощение. Рассеивание рассчитывается в два этапа: Вычисление рассеивания во всех направлениях. Этот этап выполняется во время начальной загрузки имитируемой обстановки и не изменяется с течением времени. Вычисление рассеивания в направлении наблюдателя. На этом этапе используются данные, рассчитанные на первом этапе, и вычисляется рассеивание в направлении наблюдателя. Интенсивность света I(P,), выходящего из частицы, складывается из дошедшего до неё не поглощенного света от источника в направлении и рассеивания P, дошедшего до частицы от других частиц: Dp I ( P, ) I 0 e ( t ) dt 0 Dp Dp g ( s, )e ( t ) dt 0 ds 0 Dp – расстояние, проходимое лучом света в облаке до частицы (x) – оптическая глубина облака. ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 2 31 УДК 004.4(06) Технологии разработки программных систем g ( x, ) r ( x, , ) I ( x, )d 4 r(x,, `) – определяет процент света в направлении в точке х, рассеиваемого в направлении `. Данные интегралы приводятся к суммам, учитывая дискретность частиц: Ik g k 1 Tk 1I k 1 , 2k N I 0 ,k 1 Tк-1-прозрачность (k-1)-й частицы gк-1 – рассеянный свет (k-1)-й частицы Каждое облако представляется набором частиц разного радиуса, прозрачности и цвета. При визуализации, с использованием приведённой дискретной формулы происходит рендеринг частиц в текстуру. При этом получается изображение проекции облака на экранную плоскость. Далее полученное в текстуре изображение с использованием блэндинга накладывается на выходное изображение основного кадра. При изменении размера текстуры (определяется динамически, в зависимости от расстояния наблюдателя до облака) или положения наблюдателя, происходит повторный рендеринг облака в текстуру. При реализации этого метода следует учитывать некоторые особенности. Например, при прохождении полноразмерного объекта через облако возникает нежелательный эффект, связанный с тем, что частицы не обладают объёмом. Для того чтобы избавиться от него, необходимо поделить облако на две части – первая часть, которая находится за объектом. Она визуализируется в первую очередь. Затем визуализируется объект. В конце визуализируется часть облака, находящаяся перед объектом (и пересекаемая им). Разработанный метод позволяет одновременно отображать большое количество облаков с высокой реалистичностью. Список литературы 1. Y. Dobashi, K. Kaneda, H. Yamashita, T. Okita, and T. Nishita. “A Simple, Efficient Method for Realistic Animation of Clouds”. SIGGRAPH 2000, pp. 19-28 2. D.S. Ebert, R.E. Parent, “Rendering and Animation of Gaseous Phenomena by Combining Fast Volume Scanline A-Buffer Techniques,” SIGGRAPH 1990, pp. 357-366. ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 2 32