Computer Graphics Support Group of 30 Phys-Math Lyceum. MN7AT7
MN7AT7Система визуализации водной поверхности с отражением в ней окружающей трёхмерной сцены в реальном времени.Группа компьютерной графики Санкт-Петербургского губернаторского ФИЗИКО-МАТЕМАТИЧЕСКОГО ЛИЦЕЯ № 30Computer Graphics Support Group of 30 Phys-Math LyceumАвторы:
Научный руководитель проекта: Галинский Виталий Александрович Постер (PDF, CGSG_UB2025_MN7AT7_Poster.pdf) Видеоклип (60 секунд, краткая аннотация, MP4) ТезисыЦель: создание системы визуализации водных поверхностей с помощью использования буферов кадра. Итоговой целью нашего проекта стала визуализация водной поверхности. Мы хотели создать оптимизированную систему графического вывода объектов на экран, используя возможности современных видеокарт для повышения производительности, чтобы эта система корректно работала в реальном времени. Все основные вычисления мы перенесли на видеокарту компьютера. В ходе работы над проектом мы построили систему применения буферов кадра (растровых изображений построенной трёхмерной сцены), хранящих данные в виде текстуры. Затем нами был разработан оптимизированный конвейер вывода, обеспечивающий корректную отрисовку 3D сцены в буфер кадра с определенной камерой. Мы применили системы буферов кадра для построения отраженного и преломленного изображений. Для корректного совмещения полученных изображений, мы применяли эффект Френеля (о преломлении света в среде). Нами были добавлены и дополнительные визуальные эффекты для достижения наибольшей реалистичности. Для построения реалистичного отражения применялся следующий алгоритм: сперва мы строили всю сцену из текущего положения камеры и отсекали с помощью шейдеров её часть, находящуюся выше уровня воды, и заносили ее в текстуру для преломления, затем из камеры, перемещенной ниже плоскости воды, и строили сцену, отсекая всё, что находится ниже уровня воды, и заносили ее в текстуру для отражения. Затем, в зависимости от угла наблюдения (в соответствии с эффектом Френеля), полученные изображения "смешиваются" и итоговое изображение накладывается в виде текстуры на поверхность воды. Результаты работы:
Для работы с видеопамятью компьютера мы использовали стандартную библиотеку OpenGL (Open Graphics Library) 4.6 и шейдеры (вершинные, фрагментные, вычислительные). Литература:
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||