Интеграция модуля компьютерной графики в систему catia

Интеграция модуля компьютерной графики в систему САТ1А

Барладян Б.Х., Дерябин Н.Б., Шапиро Л.З.

Институт прикладной математики им. М.В.Келдыша РАН, Москва

Аннотация: Рассмотрены два подхода к интеграции системы синтеза реалистичных изображений и оптического моделирования в системы автоматизированного проектирования. Предложен подход, обеспечивающий частичную автоматизацию этой интеграции. Рассмотрены детали интеграции системы 1шр1гег2 в систему

автоматизированного проектирования САТ1А.

Ключевые слова: автоматизация проектирования, реалистичные изображения, оптическое моделирование.

1. Введение

Системы оптического моделирования, основанные на физически аккуратном (корректном) моделировании распространения света, являются мощным инструментом для разработчиков и дизайнеров в самых различных областях человеческой деятельности и, прежде всего, в архитектурном проектировании, ландшафтном дизайне, автомобильной и авиационной промышленности. Они позволяет быстро и необходимой точностью получать как реалистичные изображения проектируемых объектов, так и численные значения различных параметров уже на этапе проектирования этих объектов. Примерами таких объектов могут служить различные здания и сооружения, жилые и офисные помещения, интерьеры автомобилей и самолетов. При этом контролируется эстетичность интерьеров и внешнего вида, рациональность, экономичность, соответствие стандартам систем освещения искусственным и естественным светом. Типичными приборами, где применяется оптическое моделирование, являются также системы подсветки экранов мониторов и различных мобильных устройств, разного рода управляющих кнопок. Примером системы оптического моделирования является 1шр1гег2 [1, 2].

Методы синтеза реалистичных изображений, используемые в компьютерной графике, являются эффективным средством повышения производительности труда в таких областях человеческой деятельности как архитектура, ландшафтный дизайн, автомобильная и авиационная промышленность, конструирование различного рода оптических приборов.

Можно сформулировать следующие требования, предъявляемые к современным системам синтеза реалистичных изображений и оптического моделирования:

1) Физически аккуратные методы оптического моделирования.

Синтез реалистичных изображений, близких по восприятию к тому, что появится после реализации проекта, необходимых в архитектурном проектировании, градостроительстве, ландшафтном дизайне, автомобильной и авиационной промышленности возможен только в системе, основанной на физически аккуратном (корректном) моделировании распространения света. Эти методы также абсолютно необходимы при проектировании оптических устройств.

2) Учет сложных физических эффектов.

Адекватное моделирование объектов и материалов, изготавливаемых с использованием современных технологий, невозможно без учета сложных физических эффектов. К таким эффектам следует отнести рассеивание света на стохастических микронеровностях (шероховатостях) поверхностей и на регулярных

микрорельефах поверхностей (десятки и сотии миллионов микро-призм заданной формы, размера и распределения), объемное рассеивание света на микрочастицах внутри материала, поляризационное рассеивание света в тонких пленках и ряд других подобных явлений. Адекватное моделирование таких эффектов требует в свою очередь использования мульти спектральных методов. Моделирование в RGB пространстве не позволяет получить правильные цвета для восприятия человеком.

3) Задание правильных исходных данных.

Синтез реалистичных изображений требует задания корректных исходных данных - геометрии сцены, оптических характеристик поверхностей и материалов.

4) Интегрирование в системы автоматизированного проектирования.

Все современные компании в настоящее время на различных этапах производства и сопровождении в эксплуатации сложных технических изделий используют так называемые технологии управления жизненным циклом изделий (Product Lifecycle Management (PLM)). Эти системы обеспечивают управление всей информацией об изделии и связанных с ним процессах на протяжении всего его жизненного цикла, начиная с проектирования и производства до снятия с эксплуатации. Информация об объекте, содержащаяся в PLM-системе является цифровым макетом этого объекта. Геометрическая модель объекта в таких системах создается, как правило, с помощью специальных систем автоматизированного проектирования (САПР). Для трехмерных геометрических объектов стандартом де факто такой системы является CATIA [3]. По крайней мере, ее используют большинство авиационных, кораблестроительных и автомобильных компаний. Autodesk 3DS MAX [4] широко используется для презентаций различных архитектурных проектов. Синтез реалистичных изображений для объектов, разрабатываемых в этих системах, а также получение их различных оптических характеристик таких, как распределение освещенности и яркости на различных реальных или виртуальных поверхностях, является важной частью общего проектирования. Для обеспечения эффективного использования подсистемы оптического моделирования в общем процессе проектирования необходимо обеспечить максимально гладкое ее взаимодействие с системой автоматизированного проектирования, где создается геометрия объектов, и хранятся их атрибуты. Разработчик изделия в системе автоматизированного проектирования должен использовать оптическую подсистему просто как одну из подсистем, которая автоматически воспринимает геометрию, созданную в системе, и те атрибуты, которые должны быть учтены в моделировании. Соответственно оптическая подсистема должна автоматически учитывать все те изменения в геометрии или атрибутах, которые могут вноситься на различных этапах проектирования изделий. Без такой эффективной интеграции разработчики просто не будут пользоваться этой подсистемой за исключением критических случаев, когда без оптического моделирования нельзя обойтись в принципе.

Задача интегрирования систем физически корректного моделирования распространения света, используемых для построения реалистичных изображений, с современными САПР является трудной. Известны попытки ее решения, разработанные компаниями Discreet (Lightscape) [5], Mental Images [6] и Chaos Group (VRay) [7] для 3DS Max. Для системы автоматизированного проектирования CATIA компанией OPTIS был выпущен встроенный модуль моделирования освещенности SPEOS CAA V5 Based [8]. Компания Mental Images интегрировала свою программу моделирования освещенности в Autodesk 3DS MAX, Maya и

CATIA(PhotoStudio). В настоящей работе рассматриваются два подхода к решению этой задачи, и предлагается способ автоматизации этого интегрирования. Предлагаемый подход позволяет обеспечить максимальное повторное использование не только уже существующих вышислительныгх модулей, но и даже частичное повторное использование графических пользовательских интерфейсов.

2. Подходы к интеграции с системами автоматизированного проектирования

В состав систем автоматизированного проектирования входит, как правило, набор инструментальныгх средств разработки программного обеспечения (SDK -software development kit). Этот инструментарий предназначен для расширения и дополнения функциональные возможностей данной системы. Так средства 3ds Max SDK предназначены, в первую очередь, для создания новых возможностей (Plugins) по созданию и модификации геометрических объектов (процедурные объекты и модификаторы), материалов и текстур. Соответствующие средства CATIA V5 также содержат мощные средства для точного моделирования трехмерных объектов на базе использования различных представлений криволинейных поверхностей и топологических операций. Эти средства и позволяют встраивать в системы автоматизированного проектирования синтез реалистичныгх изображений и оптическое моделирование как одну из специальных подсистем.

Можно рассматривать два подхода к интеграции с системами автоматизированного проектирования:

1. Максимально полное использование инструментальныгх средств разработки данной системы автоматизированного проектирования и перепрограммирование существующей системы оптического моделирования с использованием новых средств.

2. Максимально полное использование модулей уже существующей и отлаженной системы оптического моделирования и синтеза реалистичныгх изображений.

Оба подхода имеют очевидные преимущества и недостатки, и в практической реализации приходится выбирать некоторое компромиссное решение. Так, при интеграции нашей системы моделирования освещенности с 3ds Max, было принято решение о максимальном использовании возможностей предоставляемыгх 3ds Max SDK. В этом случае пользователь, уже привыкший к используемым моделям материалов, источников света, наложения текстур, пост процессинга, мог бы использовать их в новом плагине в том виде, как они описаны для встроенного визуализатора. Дополнительно пользователь может использовать расширенные модели материалов и источников света, обеспечиваемые нашим плагином. Эти модели необходимы для обеспечения физически аккуратного (корректного) моделирования распространения света, поскольку исходные модели не были рассчитаны на такое моделирование. Основным преимуществом нашего плагина над стандартным визуализатором является получение не прямого освещения. Реалистичность полученных изображений в этом случае получается существенно выше даже при использовании относительно искусственных моделей материалов (свойств поверхностей). Это объясняется тем, что моделирование освещенности базируется на физических законах распространения света. Неточность моделей материалов приводит только к некоторым ошибкам в величинах освещенности, но во многих случаях это не критично с точки зрения реалистичности полученных

изображений, в то время как пользователь избавлен от процедуры точного задания атрибутов материалов и источников света, их измерения и т.д.

При интегрировании с CATIA (Dassault Systems) была поставлена задача получения максимально точных результатов моделирования освещенности. Такое моделирование требует введения источников света, отсутствующих в CATIA, задания оптических свойств используемых материалов, расчета освещенностей различных объектов сцены и использования для анализа полученных результатов различных видов виртуальных измерительных объектов. В ряде случаев необходимо задавать оптические свойства не только поверхностей объектов, но и среды, в которой распространяется свет. К таким параметрам относятся, например, дисперсия (зависимость индекса рефракции от длины волны), объемное рассеяние и флюоресценция. При описании параметров объемного рассеяния необходимо учитывать что материал, из которого изготовлен объект, может быть многокомпонентным, например, состоять из прозрачного материала заполненного частичками, изготовленными из других материалов. Полное описание такого многокомпонентного материала требует достаточно сложного пользовательского интерфейса. В частности он требует описания каждого из составляющих его материалов, концентрации каждого сорта частиц и их параметров. Для работы с подсистемой оптического моделирования необходим ряд других, достаточно сложных пользовательских интерфейсов, например, анализа полученных результатов моделирования в виде спектральных изображений в плоскости камеры или других виртуальных измерительных объектов. Следует также учитывать, что внутренние требования к построению объектов в Inspirer2 и CATIA существенно отличаются. Следовательно, для создания объектов, описывающих соответствующие модели в CATIA, потребуется их полное перепрограммирование и конверсия при передаче этих данных в среду моделирования Inspirer2.

Сложных интерфейсов требует также визуальное представление распространения света в оптической системе в виде трассируемых лучей. Двойная разработка и отладка таких сложных пользовательских интерфейсов и внутренних объектов сначала для базовой системы моделирования освещенности, а затем для интегрированной в CATIA требовала бы слишком много времени. Существенным фактором являлось также необходимость длительного использования достаточно дорогой среды программирования и специфической квалификации программистов для работы в этой среде. В силу всех этих причин было принято решение максимально использовать в интегрированной подсистеме уже разработанные и отлаженные модули базовой подсистемы. Нам удалось разработать такую технологию интеграции модулей базовой системы оптического моделирования в систему автоматизированного проектирования, которая позволяет использовать модули базовой системы практически без изменений. Реализация интеграции нашей системы оптического моделирования Inspirer2 в систему CATIA описана в двух следующих разделах.

3. Основные блоки интегрированной системы

Интегрированная система Inspirer CATIA (IC) была образована путем интеграции в систему CATIA пост процессора обработки результатов HDRIPostprocessor входящего в систему Inspirer2 и специального сервера I2 Server реализованного на ядре системы Inspirer2 (Inspirer2 SDK).

CATIA

HDRIPostProcessor

12 Server

Рис.1 Основные компоненты системы Inspirer CATIA

CATIA - это базовая система автоматизированного проектирования. С точки зрения системы моделирования освещенности она обеспечивает создание и модификацию геометрии объектов сцены и хранение данныгх. Для целей моделирования освещенности она была расширена возможностями описания и редактирования оптических атрибутов поверхностей, источников света и виртуальных измерительных объектов. На базе Inspirer2 SDK была также обеспечена возможность расчета не прямой освещенности поверхностей, измерения оптических характеристик сцены с помощью виртуальных измерительных объектов и получения реалистических изображений с помощью трассировки лучей.

HDRIPostprocessor позволяет производить обработку полученных реалистичных изображений и анализ результатов измерений полученныгх на виртуальных измерительных объектах. В частности он позволяет:

• преобразовывать полученные изображения в физических величинах

• отображать результаты моделирования с использованием тоновой заливки (искусственные цвета).

• Обрабатывать результаты моделирования, полученные в RGB и спектральных цветовых пространствах.

• Обрабатывать результаты моделирования, полученные на различных видах виртуальных сенсоров - угловое распределение яркости, распределение яркости/освещенности на прямоугольнике виртуального сенсора.

I2 Server позволяет интегрировать большинство функциональностей Inspirer2 SDK в CATIA в полуавтоматическом режиме. В настоящее время он обеспечивает реализацию пользовательского интерфейса для описания параметров среды распространения света, доступ к Inspirer2 библиотекам описания сред, Монте Карло моделирование для визуального представления распространения света в оптической системе в виде трассируемых лучей, ряд вспомогательных функциональностей, необходимых для функционирования системы. Взаимодействие и синхронизация между блоками системы осуществляется с помощью сообщений и событий

[9].

операционной системы Windows. I2 Server может быть относительно легко расширен для поддержки новых функциональностей, реализованных в Inspirer2 для поддержки их в Inspirer CATIA. Добавление, например, новой модели среды распространения света вообще происходит автоматически, поскольку и необходимый пользовательский интерфейс и само моделирование (Монте Карло трассировка) реализовано непосредственно в I2 Server. Если новая функциональность требует передачи дополнительных параметров между блоками, то это требует реализации лишь относительно небольших программных надстроек в соответствующих блоках. Детали реализации описаны в следующем разделе.

4. Синхронизация компонент в системе Inspirer CATIA

I2 Server реализован как обычное Windows приложение. Это приложение стартует одновременно с CATIA. Его главное окно скрыто. Его главная оконная процедура заменена для обработки сообщений, посылаемых CATIA. Специальные Windows события используются для синхронизации CATIA и I2 Server в процессе вычислений и перерисовки окна CATIA.

Рассмотрим синхронизацию компонент более детально на примере визуализации распространения света в оптической системе в виде трассируемых лучей. На первом шаге пользователь должен выбрать источники света, геометрические объекты и виртуальные сенсоры, которые будут участвовать в данном моделировании. Это, естественно, делается непосредственно в CATIA с помощью интерфейса, изображенного на рис. 2а. Пользователь выбирает соответствующие объекты непосредственно в окне визуализации или в дереве сцены. Имена выбранных объектов отображаются в соответствующих окнах. В этом же диалоге можно установить ограничение времени моделирования, количество трассируемых лучей и другие необходимые параметры. После завершения выбора параметров моделирования соответствующий элемент появляется в поддереве моделирований. Теперь моделирование может быть запущено с помощью выпадающего, по правой кнопке мыши, меню - рис 2б. Непосредственно моделирование выполняется в I2 Server. CATIA для этого сначала формирует описание сцены в формате IOF (бинарный формат системы Inspirer2), сохраняет его на диске и посылает I2 Server сначала сообщение lDM_VR_SCENE_LOAD (загрузи сцену) а за тем IDM_VR_CALCULATE (моделирование визуализации лучей). Дополнительные данные (путь на сохраненное описание сцены, ограничение по времени, количество лучей и т.д.) передается при этом с использованием общей памяти разделяемой процессами (shared memory).

Выполнение каждой команды в I2 Server синхронизируется с CATIA по общей схеме.

1. CATIA сбрасывает первое синхронизирующее событие

2. CATIA посылает сообщение и ждет взведения eventl

3. I2 Server извлекает данные из общей памяти, помещает дескриптор окна в общую память.

4. I2 Server сбрасывает второе событие (event2) и взводит eventl. Ждет взведения event2.

5. CATIA извлекает из общей памяти дескриптор окна, сбрасывает eventl и взводит event2.

6. I2 Server дождавшись взведения event2, выполняет команду моделирования и взводит eventl. Во время моделирования индикатор показывает степень выполнения

команды: отношение количества отмоделированныгх лучей к тому, которое заказано в процентах. Результаты моделирования I2 Server записывает на диск в специальном формате.

7. CATIA, ожидая взведения eventl, каждые 100 миллисекунд выполняет перерисовку своего окна и делает окно I2 Server активным.

Рис. 2а. Выбор объектов

Рис. 2б. Запуск моделирования

Рис. 3. CATIA и дополнительные диалоги

Диалог "Visual Ray analyzing" реализован непосредственно в CATIA. Пользователь устанавливает здесь различные критерии для визуализируемых лучей. В частности можно визуализировать только те лучи, которые пересекают

обеспечивает кнопка ** 1. Если при моделировании использовался виртуальный сенсор, и он выбран в списке (Selected Observer), то одновременно с диалогом в CATIA на экране отображается окно HDRIPostprocessor. Последний кроме своих стандартных возможностей обеспечивает отбор визуализируемых лучей с помощью эллиптического или прямоугольного детектора (окно расположено в правом верхнем угле рис.3). Взаимодействие CATIA с HDRIPostprocessor и I2 Server происходит по общей схеме, описанной выше. После нажатия кнопки Apply сначала посылается соответствующая команды в HDRIPostprocessor (если он активен) и оттуда через общую память передается информация о параметрах детектора, затем посылается команда в I2 Server, которому передается вся необходимая информация о критериях, для отбора лучей полученных в результате моделирования. I2 Server производит отбор лучей согласно полученному критерию и возвращает отобранные лучи через общую память для визуализации. CATIA отображает эти лучи в своем окне поверх геометрии сцены.

[1 Attributes

-Optical transformation

jd*J

p' j Diffuse reflection j Diffuse refraction F Surface absorption F Specular reflection Specular refraction F Color changed W Fresnel reflection Fresnel refraction Polarization changed

F7 Diffuse BRDF W Diffuse BTDF

F Specular BRDF [7 Specular BTDF

Г" Event occurs | More or equal ^J |T"

1

ose

Рис. 4. Редактор критерия

Дополнительная функциональность позволяет детально проанализировать историю трассировки лучей, отобранных с помощью текущего критерия. Соответствующий диалог (нижний левый угол Рис.3) может быть вызван с помощью клавиши Visual Ray Results Report. Это окно позволяет проанализировать события, произошедшие вдоль траектории лучей, изменения цвета (в том числе и спектральных компонент), поверхности на которых происходили события, среды и т.д. Визуализация этого окна обеспечивается I2 Server по соответствующей команде из

CATIA, которая, в свою очередь, обеспечивает удержание этого окна поверх собственного. Это обеспечивается п.7. общей схемы синхронизации.

5. Заключение

Предложенный в работе подход к интеграции систем синтеза реалистичных

изображений и оптического моделирования в систему автоматизированного проектирования был реализован при интеграции ряда функциональностей нашей системы оптического моделирования Inspirer2 в систему CATIA. Подход позволяет частично автоматизировать процесс интеграции, поскольку модули обработки событий и синхронизации практически требуют минимальных расширений при добавлении новых функциональностей. В результате время интеграции новой функциональности, уже реализованной в Inspirer2, в CATIA сокращается многократно. Это особенно существенно, поскольку стоимость среды программирования в CATIA (стоимость лицензии) довольно высока и само программирование требует квалифицированных специалистов со значительным опытом работы в этой среде.

Список литературы

1. A. Ignatenko, B. Barladian, K. Dmitriev, S. Ershov, V. Galaktionov, I. Valiev, A. Voloboy. A Real-Time 3D Rendering System with BRDF Materials and Natural Lighting. The 14-th International Conference on Computer Graphics and Vision GraphiCon-2004, Conference Proceedings, Moscow, 2004, pp. 159-162.

2. Волобой А.Г., Галактионов В.А. Машинная графика в задачах автоматизированного проектирования // "Информационные технологии в проектировании и производстве", № 1, 2006, с. 64-73.

3. Dassault Systems, company website, http://www.3ds.com/home.

4. Autodesk 3DS Max, company website, http://usa.autodesk.com/3ds-max.

5. Lightscape software, lighting simulation software, http://www.digitalbroadcasting.com/product.mvc/Lightscape-software-0001.

6. Mental Images, company website, http://www.mentalimages.com.

7. Chaos Group, company website, http://www.chaosgroup.com.

8. П. Гольдовский, А. Кокова. Моделирование оптических явлений и свойств

задаваемых изделий. САПР и графика, №8, 2004,С. 46-47.

9. Б.Х. Барладян, А.Г. Волобой, В.А. Галактионов, Э.А. Копылов. Эффективный оператор сжатия динамического диапазона яркостей, "Программирование", № 5, 2004, с. 35-42.