Зміст


Для версії LIRA-CAD* 2025 суттєво оновлено графічну підсистему, що забезпечує базову графіку та візуалізацію моделі проектованого об'єкта.

Що це дає:

  1. Сумісність із широким спектром графічного обладнання.
  2. Більш висока швидкість проектування складних об'єктів.
  3. Нові візуальні ефекти для підвищення якості зображення.

Тепер розглянемо докладніше.


Сумісність із широким спектром графічного обладнання

Графічна підсистема LIRA-CAD до версії 2025 опиралась на інтерфейс стандарту OpenGL. У попередніх версіях використовувалися можливості програмно-апаратної платформи на рівні стандарту OpenGL 1.1 зразка 1998 року. Це забезпечувало можливість роботи нашого ПЗ навіть на найстаріших та найпростіших відеокартах.

Однак останнім часом у деяких виробників чіпів для відеокарт намітилася тенденція відмови від підтримки старих стандартів. Особливо при встановленні оновлення драйверів. Це створило низку незручностей нашим користувачам, які застосовують прогресивне обладнання. Перехід на новий найбільш сучасний із існуючих стандарт OpenGL 4.6 унеможливив би роботу наших користувачів на обладнанні, перевіреному часом.

Тому було прийнято рішення реалізувати гнучку підсистему базової графіки, яка опційно підлаштовується під особливості обладнання на стороні користувача. На основі цієї базової графіки було розроблено нову підсистему візуалізації, яка пропонує широкий спектр налаштувань та дозволяє опційно вибирати технології, що підтримуються конкретною програмно-апаратною обчислювальною платформою.


Нові візуальні ефекти для підвищення якості зображення

Нові стандарти графічного інтерфейсу OpenGL 4.6 диктують використання програмованого конвеєра візуалізації, заснованого на шейдерах. Шейдери – це особливі програми, написані мовою GLSL, що завантажуються у відеокарту та виконуються у багатопотоковому режимі графічними процесорами (GPU), кількість яких у сучасних відеокартах може досягати кількох тисяч. Це дає не тільки приріст швидкості рендерингу, але й більшу гнучкість у досягненні візуальних ефектів.

Наслідуючи традиції LIRA-CAD, сповідуючи принципи відкритої архітектури, розробники включили в дистрибутив набір шейдерів у вихідному коді мовою GLSL, що дає можливість програмістам в організації користувача модифікувати шейдери на власний розсуд для досягнення особливих візуальних ефектів.

Тепер в арсеналі проектувальника наведені нижче ефекти:

  • Тіні, що відкидаються об'єктами на поверхні інших об'єктів. Налаштовується м'якість країв тіней та глибина ефекту тіні.
  • Джерело світла, закріплене у просторі або динамічно пов'язане з камерою з керованим зміщенням від точки спостереження.
  • Розрахунок освітленості за алгоритмом Фонга з інтерполяцією нормалей, що забезпечує коректну візуалізацію відблисків на гладких поверхнях.
  • Використання карти нормалей для візуальної імітації рельєфних поверхонь.
  • Ефект повітряної перспективи, що забезпечується за рахунок настроюваної моделі серпанку або туману.
  • Ефект розсіяного затінення, що підкреслює характер форми проектованих об'єктів. Може використовуватися самостійно або у комбінації з іншими ефектами.
  • Апаратне згладжування ліній усуває ефект ступінчастості, притаманний растровим зображенням, що робить лінії рівними без втрати швидкості.

Зрозуміло, нікуди не зникли і залишилися доступними й інші візуальні ефекти, знайомі за попередніми версіями:

  • Текстурування поверхні попередньо встановленими і користувальницькими текстурами матеріалів.
  • Власні тіні об'єктів, що виявляють об'єм за рахунок відмінності яскравості освітлених і неосвітлених частин сцени.
  • Регульована прозорість та напівпрозорість окремих елементів та об'єктів загалом.
  • Забарвлення елементів конструкції в залежності від їх жорсткостей, призначених матеріалів, типів елементів або внесених змін та за іншими ознаками.

Більш висока швидкість для проектування складних об'єктів

Використання шейдерної графіки за стандартом OpenGL 4.6 дозволило суттєво підвищити швидкість отримання зображення проектованих об'єктів. Це робить більш комфортною роботу проектувальника з великими проектами, насиченими деталями.

Робота шейдерів у багатопотоковому режимі на кількох тисячах графічних процесорів помітно підвищує кількість кадрів на секунду при рендерингу сцени з обертанням або переміщення віртуальної камери. Реакція програми на переміщення миші стає більш швидкою. Тепер плавно візуалізуються навіть такі великі сцени, на яких раніше відчувалася затримка.

Для ілюстрації цієї тези ми використали модель EvolutionTower.spf з прикладів у комплекті постачання LIRA-CAD. Модель характерна підвищеною поверховістю та типовим для багатьох проектів поєднанням ліній та граней.

Були проведені виміри швидкості при кількох комбінаціях налаштувань візуалізації. Результати виражені у кількості кадрів за секунду (fps), що досягаються при динамічній візуалізації за командою «Показати все» (Zoom All). На кожній комбінації налаштувань проведено серію тестів, результати видно на ілюстраціях, у таблиці наведено приблизні середні показники.


Таблиця. Результати тесту продуктивності

Налаштування візуалізації Продуктивність,fps
Без шейдерів (технологія колишніх версій) 125...127
Шейдери з усіма візуальними ефектами, включаючи розсіяне затінення (SSAO) 150...160
Шейдери з основним набором ефектів (освітленість по Фонгу, падаючі тіні) 700...800
Шейдери без ефектів (тільки освітленість по Фонгу) 1050...1100

Таким чином, можна помітити, що навіть при використанні всіх візуальних ефектів, включаючи найресурсомісткіші, швидкість рендерингу модернізованим графічним ядром зросла в порівнянні з колишніми технологіями.

При використанні мінімалістичного набору основних ефектів на сценах, подібних до тестового прикладу проекту, швидкість зростає в 7...8 разів.

Використання текстур, гамма-корекція та застосування згладжування ліній практично не надає від'ємного впливу на швидкість візуалізації.

Візуалізація з набором ефектів, включаючи розсіяне затінення

Візуалізація з набором ефектів, включаючи розсіяне затінення

Візуалізація з основним робочим набором ефектів

Візуалізація з основним робочим набором ефектів

Візуалізація шейдерами без особливих візуальних ефектів

Візуалізація шейдерами без особливих візуальних ефектів

Візуалізація без використання шейдерів (колишня технологія)

Візуалізація без використання шейдерів (колишня технологія)

Візуалізація результатів розрахунку

Версія LIRA-CAD 2025 отримала оновлене графічне ядро, засноване на застосуванні технологій шейдерної графіки. Відповідно, режими візуалізації з використанням шейдерів доступні й при огляді аналітичної розрахункової моделі з результатами розрахунку.

Використання шейдерів для візуалізації підвищує швидкість та якість формування зображення, що забезпечує більш гладкі лінії та більш плавну реакцію на переміщення миші при керуванні віртуальною камерою.

Увімкнення шейдерної графіки GLSL у вікні перегляду результатів розрахунку

Увімкнення шейдерної графіки GLSL у вікні перегляду результатів розрахунку

Для забезпечення відповідності кольорів скінченних елементів на зображенні розрахункової моделі кольорам клітинок діапазонів шкали рекомендується вимкнути всілякі ефекти, пов'язані з освітленням, та інші ефекти тонування. У властивостях виду слід простежити, щоб була включена візуалізація компонентів моделі, які потрібно бачити на схемі. Наприклад, АЖТ.

При візуалізації результатів актуальним є використання опції «Враховувати вагу ліній», яка може бути включена або вимкнена як у властивостях виду, так і в налаштуваннях візуалізації для активного графічного вікна.

Опція «Враховувати вагу ліній»

Опція «Враховувати вагу ліній»

При одночасній візуалізації вихідної та деформованої схеми, наприклад, для аналізу характеру переміщень вузлів конструкції, може бути корисна опція напівпрозорості елементів. Включається в діалозі «Налаштування візуалізації» для активного графічного вікна.

Напівпрозорість елементів

Напівпрозорість елементів

Відображення вихідної схеми та векторів переміщень вузлів

Відображення вихідної схеми та векторів переміщень вузлів

Одночасне відображення вихідної та деформованої схеми, а також векторів переміщення вузлів робить картину інформативнішою, проте може захаращувати зображення зайвими для складних конструкцій деталями. І той, й інший ефект є опціонним і може бути відключений у діалозі «Відображення результатів». Там же регулюються розміри зображень вузлів та товщини ліній для зображення результатів у стержневих елементах.

Діалог «Відображення результатів»

Діалог «Відображення результатів»

Для забезпечення ефективної та сумісної з різним обладнанням можливості експорту растрових зображень, друку в PDF і на принтер рекомендується простежити, чи включена технологія FBO.

Включаємо технологію FBO

Включаємо технологію FBO

Карти нормалей в LIRA-CAD

Можливість використання мап нормалей відкрилася в LIRA-CAD 2025 у зв'язку з переходом від використання фіксованого конвеєра рендерингу OpenGL 1.1 до програмованого за стандартом OpenGL 4.6.

Використовуючи карти нормалей, можна істотно підвищити деталізацію зображення проєктованого об'єкта без збільшення кількості полігонів (граней) у моделі.

Цьому ж завданню служать текстури. Однак текстуровані поверхні все ще відбивають світло як плоскі. У той час як карти нормалей наділяють плоскі поверхні зовнішнім виглядом рельєфних.

Налаштування візуального матеріалу з картою нормалей

Налаштування візуального матеріалу з картою нормалей

Зображення з картами нормалей являють собою звичайні растрові файли форматів BMP, JPG, PNG. Кожен піксель такого зображення трактується не як колір RGB, а як XYZ вектора нормалі в цій точці поверхні. Можна імпортувати такі файли для надання рельєфності поверхням об'єктів. Крім того, LIRA-CAD надає низку вбудованих інструментів для генерування карт нормалей.

Нижче для порівняння наводиться зображення однієї й тієї самої моделі без використання та з використанням карт нормалей.

Зображення моделі без застосування карт нормалей

Зображення моделі без застосування карт нормалей

Зображення з використанням карт нормалей

Зображення з використанням карт нормалей

Щоб можна було використовувати карти нормалей, у такий спосіб створюючи ефект рельєфних поверхонь, званий також ефектом «бампінгу» (bumping), у налаштуваннях програми має бути ввімкнена опція Візуальні ефекти.

Опцію «Візуальні ефекти» ввімкнено для використання карт нормалей

Опцію «Візуальні ефекти» ввімкнено для використання карт нормалей

Таким чином, оновлена графічна підсистема забезпечує підвищення як ефективності, так і якості візуалізації проєктованих об'єктів.

Детальніше про карти нормалей



Творчих успіхів, колеги!

Помилка в тексті? Виділіть її та натисніть Ctrl + Enter, щоб повідомити нам.

Олег Палієнко

Провідний інженер-програміст компанії «ЛІРА САПР».
Розробка програмних комплексів.

Інші публікації цього автора


Коментарі

Написати