Jump to content

Библиотека визуализации

Библиотека визуализации
Первоначальный выпуск 7 мая 2007 г .; 17 лет назад ( 07.05.2007 )
Стабильная версия
1.0.0 / 16 мая 2012 г .; 12 лет назад ( 16 мая 2012 г. )
Написано в С++
Операционная система Кросс-платформенный
Тип 3D графика
Лицензия Упрощенная лицензия BSD
Веб-сайт библиотека визуализации .org

Библиотека визуализации ( VL ) — это промежуточное программное обеспечение C++ с открытым исходным кодом для приложений 2D/3D графики на основе OpenGL 4, предназначенное для разработки переносимых приложений для Microsoft Windows , Linux и Mac OS X. операционных систем

Цели дизайна

[ редактировать ]

Библиотека визуализации была разработана для:

  1. Реализуйте интуитивно понятную, тонкую и переносимую оболочку C++ для OpenGL 4.
  2. Быть полностью совместимым со старыми версиями OpenGL (1.x, 2.x и 3.x).
  3. Используйте возможности и производительность современных графических процессоров также в неигровых приложениях, таких как виртуальная реальность, научная и медицинская визуализация, симуляторы, обучение и т. д.
  4. Предоставьте общую и детализированную структуру, которую можно использовать для сборки индивидуальных методов рендеринга.
  5. Избегайте архитектурных ограничений парадигмы графа суперсцены.
  6. Предоставьте программисту как можно больше контроля, позаботившись о грязных деталях.

Внутренний дизайн

[ редактировать ]

Проектирование библиотеки визуализации основано на специализации и разделении алгоритмов и структур данных, в отличие от многих других 3D-фреймворков, входящих в так называемое семейство « графов uber-сцен », то есть тех 3D-движков, которые хранят всю информацию рендеринга в единой иерархической структуре. Таким образом, библиотека визуализации использует разные структуры данных (возможно, иерархические) для управления каждым конкретным доменом конвейера рендеринга.

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

Актеры хранятся в их собственной структуре данных разделения сцены, из которой их видимость проверяется на соответствие усеченному виду и из которой в конечном итоге они извлекаются во время рендеринга, чтобы стать частью очереди рендеринга. Это позволяет VL быть независимым и использовать преимущества практически любого типа метода управления сценой, такого как PVS, портал/сектор, KdTree , квадродеревья , октодеревья и т. д.

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

Основные особенности

[ редактировать ]
  • Поддержка OpenGL: 1.x, 2.x, 3.x, 4.x.
  • Поддержка ОС: Windows XP, Vista, 7, Mac OS, Linux
  • Привязки графического интерфейса: Win32, MFC, Qt4, wxWidgets, SDL, GLUT.
  • Форматы 3D-файлов: 3DS, OBJ, PLY (двоичный и ascii), STL (двоичный и ascii), AC3D, MD2. Можно подключить больше.
  • Поддерживаемые форматы файлов изображений: JPG, PNG, TGA, TIFF, BMP, DDS, DICOM. Можно подключить больше.
  • Визуализация объемов: рендеринг объемов raycast (функции передачи, изоповерхности и т. д.), срезы, выровненные по экрану, эффективная реализация марширующих кубов.
  • Текстурирование: 1D/2D/3D текстуры, кубические карты, мультитекстурирование, массивы текстур, прямоугольники текстур, рендеринг в текстуру, генерация координат текстуры, объединители текстур, генерация MIP-маппинга и MIP-карт, анизотропная фильтрация, сжатые текстуры, текстуры глубины, целочисленные текстуры, не нормализованные текстуры, текстурные буферы, мультисэмпловые текстуры.
  • Поддержка языков шейдинга OpenGL версий 1.x–4.x, включая шейдеры геометрии и тесселяции.
  • Автоматическое управление прозрачностью.
  • Автоматическая сортировка состояний рендеринга и минимизация настроек.
  • Автоматическое управление объектами буфера вершин.
  • Обширная поддержка объектов фреймбуфера.
  • Предоставленные менеджеры сцен: общее иерархическое дерево томов, KdTree, граф сцены на основе портала.
  • Высококачественные функции и классы рендеринга текста в Юникоде и манипулирования текстом.
  • Расширенная векторно-матричная библиотека C++ на основе GLSL.
  • Функции оптимизации геометрии, уменьшение/прореживание треугольников, удаление двойных вершин и т. д.
  • Молекулярная визуализация.
  • Генерация экструзии.
  • Линейная интерполяция и интерполяция пути Катмулла-Рома.
  • Бикубические поверхности Безье.
  • Улучшение краев и силуэта.
  • Виртуальная файловая система: абстрактная файловая система, которая прозрачно обеспечивает доступ к файлам диска, файлам памяти, файлам .zip и файлам .gz.
  • Расширяемая система ресурсов для поддержки новых типов ресурсов и форматов файлов.
  • Много документации и много примеров.

Статус разработки

[ редактировать ]

Первый публичный выпуск библиотеки визуализации состоялся 7 мая 2007 года.

Библиотека визуализации в настоящее время находится во второй стабильной версии, VL 2011.05.1140, которая следует за первой, VL 2009.07.640. Несмотря на то, что дизайн остался практически прежним, последняя стабильная версия отличается от своей предшественницы главным образом: поддержкой OpenGL 3 и 4 и, в частности, шейдеров тесселяции, универсальными переменными двойной точности, новыми форматами текстур, такими как текстуры с несколькими выборками и текстурные объекты, расширенной поддержкой объектов кадрового буфера и улучшенная настройка для приложений, интенсивно использующих GLSL , а также множество других улучшений.

См. также

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e636bef83479d8e28d295bb8363f6cf4__1681538760
URL1:https://arc.ask3.ru/arc/aa/e6/f4/e636bef83479d8e28d295bb8363f6cf4.html
Заголовок, (Title) документа по адресу, URL1:
Visualization Library - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)