Блендінг функціонально заданих поверхонь
DOI:
https://doi.org/10.15276/aait.04.2019.2Ключові слова:
функціонально задані поверхні, функції збурення, операція сгладженняАнотація
Найбільш поширена модель для візуалізації тривимірних зображень - полігональне наближення. Поряд з
рядом переваг, така модель має і свої недоліки. Моделюючи реальні об'єкти, будується наближена полігональна модель.
Для п підвищення якості зображення найчастіше необхідно збільшувати кількість полігонів. Збільшення кількості полігонів
передбачає збільшення часу візуалізації і обсягу використовуваної пам'яті. Додаткові проблеми вносить зміна масштабу
об'єкта, тому що не можна швидко і ефективно змінити кількість полігонів для моделі об'єкта. Від таких недоліків
можна позбутися, застосовуючи аналітичне п одання об’ємів і растеризація їх за допомогою алгоритмів трасування
променів. Аналітичне завдання об’ємів не вимагає великого обсягу пам'яті. Проблема синтезу реалістичних зображень
актуальна для: різних тренажерів, віртуальних студій і тривимірних ігор. На даний момент вже існують роботи по
візуалізації функціонально заданих поверхонь, але їх застосування обмежене досить вузьким класом поверхонь і повільною
візуалізацією. Використовувані алгоритми складно оптимізувати, що також накладає обмеження на практичне
застосування. У роботі пропонується використовувати особливий клас об’ємів, які називаються «вільні форми». Кожна
вільна форма є базова поверхня та збурення на цій поверхні. Базова поверхня і збурення задаються поліномами другого
ступеня-квадрікою. Щоб досягти гладкості, функція збурення зводиться в третю ступінь. Метою роботи є розробка
програми, яка за заданим аналітичним завданням з використанням квадріків зі збуреннями обчислює глибину кадру і
нормалі до поверхні в кожному пікселі. Цей додаток має максимально можливо використовувати обчислювальні ресурси
графічного акселератора. Вже були спроби створення алгоритмів візуалізації об’ємів, заданих аналітично, але більшість з
них використовували тільки ЦПУ для обчислень, і час обробки було занадто великим для практичного застосування. Ці
алгоритми не були призначені для паралельної обробки. На відміну від них, запропонований в роботі алгоритм використовує
графічний акселератор для більшої частини обчислень. При цьому обчислення на графічному акселераторі відбуваються
паралельно, і метод ефективно використовує цю особливість. За рахунок паралельної обробки і відсутності необхідності
пересилання великої кількості даних із загальної пам'яті в пам'ять графічного акселератора, збільшується швидкість
візуалізації порівняно з варіантом, що використовують тільки ЦПУ. Тактова частота процесорів в графічних
акселераторах менше, ніж частота ЦПУ. Але для певного класу задач продуктивність з використанням графічних
акселераторів буде вищою за рахунок великої кількості процесорів