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