пресс-центр

ИНТЕРАКТИВНАЯ ПЕСОЧНИЦА

История создания “Интерактивной песочницы” началась в 2012 году, когда в Томске готовился к открытию первый в городе музей занимательной науки, а студентов Томского политехнического университета попросили помочь в изготовлении экспонатов. Именно тогда три студента – Вагиз Дусеев, Егор Шеломенцев и Максим Рудь – решили сделать самый зрелищный и дорогой экспонат музея - “Интерактивную песочницу”.

Разработка “Интерактивной песочницы”

Как NVIDIA помогает рендерить фотореалистичные изображения

Принцип работы этой установки довольно прост – карта высот поверхности песка в реальном времени сканируется инфракрасным дальномером, передаётся для обработки на компьютер, к которому подключен проектор, который и проецирует изображение обратно на песок. Несмотря на кажущуюся простоту, в процессе изготовления экспоната команде пришлось столкнуться с немалым количеством подводных камней – проектор отказывался работать в вертикальном положении, карта высот была сильно зашумлена и мерцала, а разработанное ПО работало очень медленно. Однако все эти сложности были успешно преодолены и “Интерактивная песочница” увидела свет – и, как и надеялись её создатели, - стала самым популярным экспонатом и символом вновь открывшегося музея.

 

После серии мероприятий, в которых команда «Песочницы» принимала участие, разработчики задумались о возможности коммерциализации проекта. Было понятно, что для продажи и больших демонстраций существующая модель не подходит – громоздкий корпус, недостаточно привлекательная картинка, мерцающее изображение, а также анимированная вода, похожая скорее на кисель, чем на воду. Им нужен был новый корпус, новое ПО и обязательно «живая», реалистичная вода! Точнее, физически корректная модель воды, работающая во взаимодействии с постоянно изменяющимся ландшафтом. Это позволило бы разработчикам реализовать демонстрацию таких явлений, как извержения вулканов, таяние ледников, разрыв дамбы. Появление реальной воды, а не просто анимированных текстур, сделало бы “Песочницу” полезной не только для детей, но и для специалистов в разных областях, например, для предсказания поведения водных массивов в условиях изменяющегося ландшафта.

Реализация симуляции воды

Программное обеспечение было создано на базе библиотеки OpenGL. Командой было разработано несколько видов фильтров, применяя которые они получили сглаженную, стабильную и незашумленную карту высот. Было добавлено освещение, новая анимация воды, собран новый корпус – новая песочница стала выглядеть практически идеально. Дело осталось за малым – реализовать симуляцию воды.

Для решения этой задачи разработчики обратились к архитектуре параллельных вычислений NVIDIA CUDA. В качестве математической модели была выбрана система уравнений мелкой воды. Если на центральном процессоре вычисления для сетки 320 х 240 вершин (а именно столько требовалось получить, учитывая разрешение карты глубины) производились со скоростью 2-3 кадра в секунду, то после портирования вычислений на GPU, разработчики добились стабильных 25 – 30 FPS (с использованием мобильной видеокарты среднего класса). Этого уровня производительности было вполне достаточно для проведения эффектных демонстраций.

ИНТЕРАКТИВНАЯ ПЕСОЧНИЦА

Большой наградой для проекта стало приглашение одного из разработчиков в качестве спикера на GPU Technology Сonference 2014, где он получил возможность рассказать о проделанной работе широкой аудитории, увлеченной темами, связанными с использованием GPU для решения вычислительных задач.

Дополнительная информация о проекте:

Рудь Максим Николаевич
rudmax13@gmail.com