Computer Graphics Support Group of 30 Phys-Math Lyceum. GR1
GR1Создание фотореалистичных сцен в реальном времени с использованием возможности современных видеокарт.Группа компьютерной графики Санкт-Петербургского губернаторского ФИЗИКО-МАТЕМАТИЧЕСКОГО ЛИЦЕЯ № 30Computer Graphics Support Group of 30 Phys-Math LyceumАвторы:
Научный руководитель проекта: Галинский Виталий Александрович Постер (PDF, CGSG_UB2025_GR1_Poster.pdf) Видеоклип (60 секунд, краткая аннотация, MP4) ТезисыЦелью данной работы являлась создание графического приложения с использованием Vulkan (API для низкоуровневого взаимодействия с видеокартой) и применением для вывода метода трассировки лучей (метод, основанный на нахождение пересечений луча, испускаемый из камеры с объектами сцены). В данном приложении должно было позволять добавлять различные модели или геометрические фигуры разной сложности, а также поддержка эффектов, позволяющих добиваться реализма в сцене. Автором проект был разделён на две основные логические части: графическая, которая отвечает за построение сцены и блок, отвечающий за её обработку и создание в соответствии с ней шейдеров пересечения (шейдер – небольшая программа, которая выполняется прямо на GPU). В проекте были использованы все возможности современной видеокарту, благодаря чему стало возможным вычислить пересечения множества лучей с большим количеством треугольников за сравнительно небольшое время, что позволило генерировать сцены любой сложности. Для управлением обработки луча были разработаны собственные шейдеры следующих типов: шейдеры генерации луча, обработки пересечения и шейдер, вызывающийся в случае непопадания луча ни в один объект сцены. Для создания своей собственной геометрии (сфер, кубов и других тел, задающихся каким-либо уравнением) автор на основе шейдера пересечения разработал собственный код, который отслеживает попадание луча в данные объекты и в случае его существования отправляет сигнал об этом вместе со всей необходимой информацией (нормали, дальности объекта и свойства его материала) в шейдер обработки пересечения, который привязан к данной генерации. Одним из главных преимуществ придуманного подхода по сравнению с другими способами вывода стало возможность легко добавить такие эффекты как отражение и преломление без сильных потерь производительности. К недостаткам можно отнести появление эффекта ступенек на краях объектов, образующихся из-за дискретности экрана. Для борьбы с ним в проекте был использован метод антиалайзинга. Через один пиксель экрана испускается сразу несколько лучей с небольшим отклонением после чего результат усредняется. Этот способ позволил получать изображение с более плавными и реалистичными переходами. Результатом работы стало создание удобного приложения для вывода реалистичных сцен с различными объектами. Перенос основных вычислений на GPU позволил ускорить вывод сцены, которые раннее считались минуты или даже часы, почти мгновенно. Также в процессе работы бал получен ценный опыт работы с видеокартой и методов отрисовки. ![]() Литература:
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||