AcGi
AcGi — это графическая система (графический движок), используемая в среде автоматизированного проектирования (САПР) AutoCAD, разрабатываемая компанией Autodesk (организация признана в РФ нежелательной, деятельность запрещена). AcGi отвечает за визуализацию двумерных (2D) и трёхмерных (3D) объектов, отображаемых в окне рисования AutoCAD, а также за управление графическим конвейером, обеспечивающим рендеринг, анимацию и взаимодействие с пользователем.
История и развитие
AcGi была внедрена в AutoCAD начиная с версии 2000 года (выпущенной в 1999 году) как часть перехода на объектно-ориентированную архитектуру. До этого визуализация в AutoCAD осуществлялась через более простые, аппаратно-зависимые драйверы. Разработка AcGi была направлена на унификацию графического вывода для различных операционных систем (Windows, macOS) и аппаратных конфигураций, а также на поддержку новых возможностей, таких как прозрачность, тени и реалистичное освещение.
С выходом AutoCAD 2007 движок AcGi был значительно переработан для поддержки Direct3D (API от Microsoft) и OpenGL, что позволило использовать аппаратное ускорение графики. В версии 2010 года была добавлена поддержка шейдеров (HLSL и GLSL), что улучшило качество рендеринга. В AutoCAD 2015 AcGi получил поддержку многопоточного рендеринга, а в версии 2018 — возможность работы с высоким разрешением (HiDPI) и улучшенную обработку больших моделей.
Архитектура и принцип работы
AcGi представляет собой абстрактный слой между приложением AutoCAD и графическим оборудованием. Основные компоненты архитектуры:
Графический конвейер
AcGi реализует классический графический конвейер, состоящий из этапов: вершинная обработка, тесселяция (разбиение на треугольники), растеризация, обработка пикселей (шейдеры) и вывод на экран. Для 3D-моделей используется буфер глубины (Z-буфер) для определения видимости объектов.
Объектная модель
Каждый графический объект в AutoCAD (линия, дуга, сплайн, 3D-тело и т.д.) при отображении преобразуется в примитивы AcGi: треугольники, линии, точки и текстуры. Для этого используется механизм «глифов» (glyphs) — специализированных структур данных, описывающих геометрию и атрибуты (цвет, материал, прозрачность).
Управление контекстом
AcGi поддерживает несколько контекстов отображения: окно рисования (Model Space), листы (Layouts), а также предварительный просмотр (Preview). Каждый контекст имеет свои настройки освещения, камеры и отсечения.
Аппаратное ускорение
AcGi может работать в двух режимах:
- Программный рендеринг (Software) — используется, если графический адаптер не поддерживает требуемые возможности (например, OpenGL 2.0 или DirectX 10). В этом случае все вычисления выполняются центральным процессором.
- Аппаратный рендеринг (Hardware) — задействует видеокарту через Direct3D (на Windows) или OpenGL (на macOS и Linux). В этом режиме поддерживаются шейдеры, сглаживание (MSAA), тени и эффекты прозрачности.
Классификация и виды
AcGi не является самостоятельным продуктом, а входит в состав AutoCAD. Однако в контексте разработки и использования выделяют:
Встроенный AcGi
Используется непосредственно в AutoCAD для отображения чертежей и моделей. Поддерживает все стандартные функции: ортогональные и перспективные виды, сечение, скрытые линии, тонирование (Gouraud, Phong) и реалистичный рендеринг.
AcGi для разработчиков (ObjectARX)
Через API ObjectARX (C++) разработчики могут создавать собственные графические объекты, которые будут отображаться через AcGi. Для этого необходимо реализовать интерфейс AcGiDrawable, который содержит методы для генерации примитивов (например, worldDraw() и viewportDraw()). Это позволяет, например, создавать пользовательские 3D-модели, анимации или интерактивные элементы.
AcGi в других продуктах Autodesk
Хотя AcGi изначально разрабатывался для AutoCAD, его модифицированные версии используются в других САПР Autodesk, таких как AutoCAD Architecture, AutoCAD Mechanical, AutoCAD Civil 3D и AutoCAD Map 3D. В этих продуктах AcGi может быть расширен для поддержки специализированных объектов (например, стен, труб, дорог).
Применение
AcGi используется в следующих областях:
Проектирование и черчение
Обеспечивает отображение линий, дуг, текста, размеров и штриховок в 2D-чертежах. Поддерживает масштабирование, панорамирование и вращение видов без потери качества.
3D-моделирование
Позволяет визуализировать трёхмерные тела, поверхности и сетки. Включает настройки освещения (точечное, направленное, окружающее), материалов (отражение, прозрачность, текстуры) и фона (градиент, изображение).
Визуализация и анимация
AcGi поддерживает создание фотореалистичных изображений (рендеринг) и анимации (например, вращение модели или облёт). Для этого используются встроенные средства AutoCAD (команды RENDER, ANIPATH) или сторонние плагины.
Интерактивное взаимодействие
Обработка событий мыши (выделение, перетаскивание, редактирование) и клавиатуры. AcGi обеспечивает быструю перерисовку объектов при изменении их свойств или положения.
Примеры использования
- Архитектура: отображение планов этажей, фасадов, разрезов и 3D-моделей зданий. AcGi позволяет визуализировать сложные конструкции с большим количеством элементов (стены, окна, двери).
- Машиностроение: чертежи деталей, сборок, сварных швов. AcGi поддерживает отображение резьбы, фасок, отверстий и других технологических элементов.
- Геоинформационные системы (ГИС): в AutoCAD Map 3D AcGi используется для отображения карт, топографических поверхностей и пространственных данных.
- Образование: демонстрация принципов 3D-моделирования и визуализации в учебных курсах по САПР.
Интересные факты
- AcGi поддерживает до 256 слоёв (layers) с независимыми настройками цвета, типа линии и прозрачности.
- В AutoCAD 2020 была добавлена поддержка трассировки лучей (ray tracing) через AcGi, что улучшило качество теней и отражений.
- Движок AcGi работает в режиме реального времени, что позволяет редактировать модель и сразу видеть изменения.
- Для оптимизации производительности AcGi использует «отложенный рендеринг» (deferred rendering), при котором объекты сначала сортируются по глубине, а затем обрабатываются.
- В AutoCAD 2023 AcGi получил поддержку переменной частоты обновления (VRR) для мониторов с технологией G-Sync и FreeSync.
Критика и ограничения
- Производительность: при работе с очень большими моделями (более 10 млн примитивов) AcGi может испытывать замедления, особенно в программном режиме.
- Совместимость: некоторые старые видеокарты (до 2010 года) не поддерживают аппаратное ускорение, что приводит к снижению качества и скорости.
- Ограничения API: для разработчиков ObjectARX доступ к AcGi ограничен — нельзя напрямую управлять шейдерами или текстурами, что затрудняет создание сложных визуальных эффектов.
- Зависимость от платформы: на macOS AcGi использует OpenGL, который больше не обновляется Apple, что может привести к проблемам с совместимостью в будущих версиях.
Источники
- Autodesk Developer Network. «AcGi Graphics System Overview». Autodesk, 2010.
- Omura, G. «Mastering AutoCAD 2019 and AutoCAD LT 2019». Sybex, 2018.
- Документация ObjectARX (версия 2023). Autodesk, 2023.
- «AutoCAD 2023 Help: Graphics Performance». Autodesk, 2023.
- «AutoCAD 2020: New Features and Enhancements». Autodesk, 2020.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →