Як комп'ютер виводить об’єкт на екран?


18

Чи вся комп’ютерна графіка відображається за допомогою полігонів? Я маю на увазі те, що деякі комп'ютерні геометрії математично представлені у вигляді рівнянь (наприклад, програмне забезпечення CAD).

Чи спочатку комп’ютер повинен виконати тесселяцію цих геометрій, перш ніж він зможе візуалізацію належним чином вивести на екран, чи існують інші методи виведення зображення на екран, не потребуючи тесселяції об'єкта?

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

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


4
Таке цікаве запитання!
r0ca

Відповіді:


2

Це слідкуйте за вашим коментарем до відповіді @ nik:

Переважна більшість систем САПР використовує багатокутники (добре трикутники) для візуалізації своїх моделей.

Вони зберігатимуть моделі різними способами на основі CSG (Constructive Solid Geometry) або B-rep (Boundary Представлення), наприклад, але якщо мова йде про їх відображення, вони будуть граняними, і трикутники, надіслані GPU для малювання .

Кожна система матиме власне рішення для розбиття моделі на трикутники.


7

Я не впевнений, на якому рівні цікавості ви задаєте це запитання,
але, загалом, я б відправив вас на сторінку « Комп’ютерна графіка Вікіпедії» .

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


Оновлення: Цікаво, чи базується ваше запитання на концепціях, пов’язаних із цим сайтом UnlimitedDetail .

Більшість 3D графіки сьогодні засновані на тому, що називається багатокутною системою; це система, яка будує речі з маленьких плоских фігур, званих багатокутниками.

...

Три поточні системи, що використовуються в 3D-графіці, - це відстеження Рея, полігони та хмара точок / вокселів, усі вони мають сильні та слабкі сторони. Полігони проходять швидко, але мають погану геометрію, Ray-слід і вокселі мають ідеальну геометрію, але працюють дуже повільно.

тощо ...


+1 для згадування критичної історії комп'ютерної графіки та анімації. багато для читання, але дуже цікаво ;-)
Diskilla

Мій рівень цікавості зазвичай падає дуже глибоко, аж до математики, яка стоїть за ідеєю (хоча я не очікую такої детальної відповіді, я просто хочу знати в цілому, що використовує GPU). Що стосується мого запитання, воно специфічно пов'язане з програмним забезпеченням CAD та способом їх перетворення між математичними моделями та тим, що ви бачите на екрані (за допомогою GPU-рендерінгу). Чому? Мені просто цікаво.
Faken

2

Якщо ви дійсно хочете заглибитись у механіку графічного процесора та методи рендерингу, зараз у мережі можна знайти наступну книгу:

GPU Gems 3, Addison-Wesley Professional (12 серпня 2007 р.)

GPU Gems 3 редагує Хуберт Нгуен, менеджер з освіти розробників NVIDIA. Хуберт - графічний інженер, який працював у демонстраційній команді NVIDIA перед тим, як перейти на свою нинішню посаду. Його творчість представлена ​​на обкладинках дорогоцінних каменів GPU (Аддісон-Уеслі, 2004) та GPU Gems 2.

GPU Gems 3 - це сукупність сучасних прикладів програмування GPU. Йдеться про налагодження паралельної обробки даних для роботи. Перші чотири розділи зосереджені на графічних програмах графічних застосунків у областях геометрії, освітлення та тіней, візуалізації та ефектів зображення. Теми в п’ятому та шостому розділах розширюють сферу застосування, надаючи конкретні приклади неграфічних додатків, які тепер можна вирішити за допомогою паралельних даних GPU-технології. Ці програми різноманітні, починаючи від моделювання жорстких тіл до моделювання потоку рідини, від відповідності підписів вірусів до шифрування та дешифрування та від генерації випадкових чисел до обчислення Гаусса.

Попередні видання також є в Інтернеті і ще дуже варті того, щоб прочитати:

Самоцвіти GPU: методики програмування, підказки та підказки для графіки в реальному часі за редакцією Рандіма Фернандо, березень 2004 року

GPU Gems 2: Методи графічного та обчислювального інтенсивного програмування за редакцією Метта Фарра, березень 2005 року

Програмування вершин, геометрії та піксельних шейдерів, друге видання, Вольфганг Енгель, Джек Хокслі, Ральф Корнман, Ніко Сюні та Джейсон Цинк, грудень 2008 року

Останнє - це нерівномірний проект книги, але надзвичайно цінний місцями. Глава про освітлення Джека Хокслі дає детальні пояснення різних моделей освітлення, а також код робочого шейдера.


1

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

Щоб повністю зрозуміти цю процедуру, слід прочитати вже згадану статтю wikipedia .

ред .: Я вже не впевнений у моєму трактуванні того, що ви маєте на увазі під «теселатом об’єкта». Якщо можливо, ви могли б це детально пояснити?


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

1

За всю історію обчислень різні графічні процесори реалізували речі по-різному, враховуючи роздільну здатність, точність, частоту оновлення та особливості моніторів, а також впроваджуючи нові та більш цікаві API з часом.

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

ASIC (і далі) лежать в основі того, як GPU роблять свою магію сьогодні. Можливість складати в кремній такі складності, як повністю запущені віртуальні машини-в-підпрограмі - це те, що змушує всю магію відбуватися. Крім тесселяції, є картографування поверхонь, затінення та багато іншого, що все обробляється в межах логіки GPU.

Сподіваюся, це допомагає!
-pbr

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.