Разработанные 3D и графические приложения
Реализация проекта: 2010-2011. Теги: QCAD, pattern designer, Delaney triangulation, tailor, Hord3D, выкройки, лекала, моделирование построения одежды, моделирование создания одежды, визуализация манекенов, виртуальная примерочная, сшиватель одежды, триангуляция Делоне, создание виртуальной юбки, создание виртуальных штанов, создание виртуального свитера, создание виртуальной майки. Технологии: C#, .Net, Marshaling, С++, QCAD, Delaney triangulation, Hord3D, DXF file format. Заказчик: Quakeup Media Production, Inc. (Canada). |
![]() |
Целью проекта являлось построения трехмерной модели одежды для человека, расположенной вокруг манекена, с использованием выкроек (лекал).
В ходе выполнения проекта, решались следующие задачи:
1) загрузка в программу выкроек, сохраненных в DXF формате;
2) дискретизация выкроек с использованием алгоритмов триангуляции Делоне;
3) «сшивание» выкроек в местах, обозначенных швами;
4) расположение сшитых выкроек вокруг манекена.
Таким образом, был создан инструмент, позволяющий выполнить виртуальный пошив одежды с учетом индивидуальных особенностей и размеров человека.
Реализация проекта: 2011. Теги: collision detection CUDA, обработка коллизий на видеокарте, обработка коллизий CUDA, алгоритм учета коллизий, примерка одежды, виртуальная примерочная, примерка одежды в режиме реального времени, столкновение манекена с одеждой. Технологии: С++, С, CUDA, QCAD. Заказчик: Quakeup Media Production, Inc. (Канада). |
![]() |
Целью проекта являлось создание модуля обрабатывающего взаимодействие между манекеном (человеком) и сшитой моделью одежды, т.е. решающего задачу учета коллизии между соответствующими мешами. Это необходимо для того, чтобы примеряемая одежда на подвижном или неподвижном манекене не проваливалась внутрь, входе растяжений или сжатий материала при примерке одежды (например, во время движения ног или рук; на плечах под действием сил тяжести и т.д.).
При этом главной задачей ставилась оптимизация разработанного алгоритма для максимально-возможного его ускорения. Эта задача была успешно выполнена с применением CUDA технологии и реализации алгоритма для обработки на видеокарте.
Таким образом, в результате внедрения разработанного модуля появилась возможность выполнять качественную примерку одежды в режиме реального времени.
Реализация проекта: 2010-2011. Теги: Ray-tracing, трассировка лучей, BVH, CUDA, Spectral Studio, создание фотореалистичных изображений, обработка изображений, эффекты для изображений, программы для обработки изображений, WPF c#, GPU, C++. Технологии: C#, С++, CUDA API (SDK). Заказчик: Spectral Pixel (Belgium). |
![]() |
Целью проекта являлось ускорение получения формируемых изображений в программном комплексе Spectral Studio ©. Программный комплекс предназначен для создания фотореалистичных изображений объектов, на базе их трехмерных моделей.
Для этого была разработана GPU-версия модуля «Aurora Renderer», включающего новую CUDA реализацию трассировщика лучей (Ray-tracer). В рамках оптимизации и ускорения его работы была создана и внедрена специальная BVH (Bounding Volume Hierarchy) структура.
Таким образом, после всех этапов оптимизации модуля «Aurora Renderer» было достигнуто в среднем 10 кратное ускорение при создании изображений на видеокартах.
Реализация проекта: 2010-2011. Теги: визуализация онлайн данных, трехмерная визуализация в интернете, визуализация интернет трафика, визуализация распределенных данных, Processing Java. Технологии: Processing 1.2, Java SE, OpenGL (JOGL), GLSL. Заказчик: Dyn, Inc. (USA). |
![]() |
Цель проекта — визуализация в реальном времени динамически изменяемой информации, расположенной на серверах компании DYN. Обрабатываемые данные – информация о загруженности сети, числе запросов пользователей, местоположении и направлении адресов запросов, загруженности отдельных серверов, информации по трафику и т.п. Форма визуализации данных должна была быть в трехмерном и в двухмерном виде.
В трехмерном виде вывод информации осуществлялся в виде эффектов на глобусе земли: динамически распространяемые лучи, эффекты затенения и мерцания, установка флажков компании, изменение текстур, создание цветовых градиентов и переливов от серверов и т.д. Были реализованы все возможности по управлению сцены — повороты, масштабирование, горячие клавиши управляющие видимостью отображаемых данных и т.д.
В дополнение, всю информацию необходимо было выводить в виде динамически-обновляемых графиков и таблиц.
Реализация проекта: 2013. Теги: визуализация распределенных данных, трехмерная визуализация в интернете, визуализация графа, движение электронной почты, разработка технического задания, трехмерная веб визуализация. Технологии: OpenGL, GLSL. Заказчик: Dyn, Inc. (USA). |
![]() |
В результате проведенной работы, был разработан концепт отображения данных, описаны технические требования, технологии и оценены ориентировочные сроки, необходимые для реализации этого проекта. Помимо этого были также представлены примеры реализаций и доступные OpenSource решения.
Реализация проекта: 2013-2014. Теги: графические эффекты, низкоуровневая адаптация CPU кода для GPU, создание бэк-энда, LLVM, LLVM-IR, OpenGL, С++, GLSL, CUDA, PTX, OpenShadingLanguage(OSL), OpenImageIO, Unix. Технологии: C++, OpenGL, GLSL, CUDA, PTX, LLVM, LLVM-IR. Заказчик: Spectral Pixel (Belgium). |
![]() |
Целью проекта являлось создание нового бэк-энда для специализированного набора функционала шейдерного языка OpenShadingLanguage (изначально существует только в CPU реализации, используя LLVM для оптимизации и генерации бинарного кода). Задача была значительно усложнена необходимостью получить исполняемый на GPU код, что должно было ускорить работу основного приложения.
Таким образом были исследованы и проанализированы основные подходы к решению данной задачи:
1) Прямая конвертация OSL исходных кодов в GLSL шейдерный язык;
2) Получение промежуточого GPU адаптированного LLVM-IR байткода, с последующей его линковкой на libdevice для генерации PTX;
3) Получение промежуточной LLVM-IR структуры, ее адаптация для GPU архитектуры, с последующей ручной записью в GLSL шейдеры.
В силу специфики основного приложения, был выбран третий путь реализации.
В результате был получен генератор GLSL кода для специфицированного набора функционала OSL, с сохранением промежуточной оптимизации OSL для применения на шейдерных сетях, что дало многократный прирост производительности.
Реализация проекта: 2011. Теги: Шейдеры, обработка изображений, эффекты для изображений, программы для обработки изображений, GLSL, дерево эффектов, visual node network, WPF C#, фильтры для изображений. Технологии: C#, WPF 3.5, OpenDiagram, GLSL. Заказчик: Spectral Pixel (Belgium). |
![]() |
Целью проекта являлось создание программы для обработки изображений с использованием графических шейдеров. В программе создавалась последовательность GLSL шейдеров, каждый из которых выполнял определенный графический эффект над изображением, например, цифровой шум или смазывание изображения. Организована такая структура шейдеров была в виде специальной сети, называемой «visual node network». Такая организация позволила: выстраивать дерево эффектов для обработки изображений; интерактивно изменять параметры каждого эффекта; визуализировать результаты применения построенного дерева эффектов и заданных для них параметров.
Результатом работы программы являлось создание GLSL-кода соответствующего построенному дереву эффектов. Получение этого кода позволяет выполнять обработку такого эффекта на видеокарте и для любого другого изображения. Это существенно сокращает время обработки и разгружает центральный процессор, при создании, например, промышленной серии эффектов для киноиндустрии.
Интерфейс пользователя был реализован с применением технологии WPF для операционной системы Windows XP.