Ця стаття є сирим з англійської мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (квітень 2020) |
У комп'ютерній графіці графічний конвеєр або конвеєр рендерингу — це концептуальна модель, яка описує, які кроки потрібно виконати графічній системі для рендерингу тривимірної сцени на двовимірний екран. Після створення 3D–моделі, наприклад, у відеогрі чи будь-якій іншій 3D-комп'ютерній анімації, графічний конвеєр — це процес перетворення цієї 3D–моделі в те, що зображається на комп'ютері. Оскільки кроки, необхідні для цієї операції, залежать від використовуваного програмного та апаратного забезпечення та бажаних характеристик дисплея, не існує універсального графічного конвеєра, який підходить для всіх випадків. Однак інтерфейси програмування графічних прикладних програм (API), такі як Direct3D і OpenGL, були створені для уніфікації подібних кроків та управління графічним конвеєром певного апаратного прискорювача. Ці інтерфейси API абстрагуються від базового обладнання та дозволяють програмісту уникати написання коду для управління прискорювачами графічного обладнання (AMD/Intel/NVIDIA, тощо).
Модель графічного конвеєра зазвичай використовується при візуалізації в режимі реального часу. Найчастіше більшість етапів конвеєра реалізовані апаратно, що дозволяє проводити спеціальні оптимізації. Термін «конвеєр» використовується в аналогічному сенсі до конвеєра в процесорах: окремі етапи конвеєру виконуються паралельно, але блокуються до тих пір, поки не буде виконаний найповільніший крок.
Концепція
3D конвеєр зазвичай відноситься до найпоширенішої форми комп'ютерного 3D–рендерингу, яка називається 3D полігональне моделювання відмінна від трасування променів та кидання променів. При киданні променів виникає в точці, де знаходиться камера, і якщо цей промінь потрапляє на поверхню, розраховується колір і освітлення точки на поверхні, де обчислюється удар. У режимі рендерингу багатокутника в 3D відбувається зворотне – обчислюється площа, яка переглядається камерою, а потім створюються промені від кожної частини кожної поверхні з огляду на камеру і відслідковуються до камери.
Структура
Графічний конвеєр можна розділити на три основні частини: Застосування, Геометрія та Растеризація.
Програма
Крок програми виконується програмним забезпеченням на головному процесорі (CPU). На кроці програми внесення змін до сцени за потреби, наприклад, шляхом взаємодії користувача за допомогою пристрою введення або під час анімації.У сучасному ігровому рушії, такому як Unity, програміст займається майже виключно кроком програми та використовує мову високого рівня, таку як C #, на відміну від C або . Нова сцена з усіма її примітивами, як правило, трикутниками, лініями та точками, переходить до наступного кроку в конвеєрі.
Прикладами завдань, які зазвичай виконуються на етапі програми, є методи виявлення зіткнень, анімація, морфінг та прискорення з використанням просторових схем підрозділу, таких як древо квадрантів чи дерево октантів. Вони також використовуються для зменшення обсягу основної пам'яті, необхідної в даний момент часу. "Світ" сучасної комп'ютерної гри набагато більший, ніж те, що могло б вписатись в пам'ять одразу.
Геометрія
Крок геометрії, який відповідає за більшість операцій з полігонами та їх [ru], можна розділити на наступні п’ять завдань. Це залежить від конкретної реалізації того, як ці завдання організовані як фактичні паралельні кроки конвеєру.
Визначення
Вершина (множина: вершини) — точка у світі. Для з'єднання поверхонь використовується багато точок. В особливих випадках хмари точок малюються безпосередньо, але це все ж виняток.
Трикутник – найпоширеніший геометричний примітив комп’ютерної графіки. Він визначається його трьома вершинами і вектором нормалей — вектор служить для позначення передньої грані трикутника і є вектором, перпендикулярним поверхні. Трикутник може бути забезпечений кольором або текстурою (зображення "склеєне" зверху). Трикутники завжди існують в одній площині, тому вони віддають перевагу перед прямокутниками.
Світова система координат
Світова система координат – це система координат, в якій створюється віртуальний світ. Це повинно відповідати декільком умовам, щоб наступна математика була легко застосована:
- Це повинна бути прямокутна декартова система координат, у якій всі осі однаково масштабуються.
Як визначено одиницю системи координат, залишається розробнику. Від того, чи повинен одиничний вектор системи відповідати реально одному метру або Ангстрему, залежить від застосування.
- Використовувати декардовоі системи координат може визначати графічна бібліотека, яка буде використовуватися.
- Приклад: Якщо ми плануємо розробити тренажер польоту, ми можемо вибрати світову систему координат, щоб початок знаходився посередині землі, а одиниця була встановлена на один метр. Крім того, щоб полегшити посилання на реальність, ми визначаємо, що вісь X повинна перетинати екватор на нульовому меридіані, а вісь Z проходить через полюси. У правій системі вісь Y проходить через меридіан 90 ° – Схід (десь в Індійському океані). Тепер у нас є система координат, яка описує кожну точку на Землі у тривимірних декартових координатах. У цій системі координат ми зараз моделюємо принципи нашого світу, гір, долин та океанів.
- Примітка. Окрім комп’ютерної геометрії, для землі використовують географічні координати, тобто широту і довготу, а також висоту над рівнем моря. Орієнтовна конверсія – якщо не враховувати той факт, що земля не є точною сферою – проста:
- з R = радіус Землі [6.378.137m], lat = Широта, довга = Довгота, hasl = висота над рівнем моря.
- Усі наведені нижче приклади застосовуються у правій системі. Для системи з лівою рукою знаки можуть знадобитися замінити.
Об'єкти, що містяться в сцені (будинки, дерева, машини), часто проєктуються у власній системі об'єктів координат (також її називають модельною системою координат або локальною системою координат) з міркувань більш простого моделювання. Для присвоєння цим об'єктам координат у світовій системі координат або глобальній системі координат всієї сцени координати об'єкта перетворюються за допомогою перекладу, обертання або масштабування. Це робиться шляхом множення відповідних матриць переходу. Крім того, з одного об’єкта може бути сформовано кілька різнорідно перетворених копій, наприклад ліс з дерева.
Ця методика називається інстанцією.
- Для того, щоб розмістити модель літака у світі, ми спочатку визначаємо чотири матриці. Оскільки ми працюємо в тривимірному просторі, нам потрібні чотиривимірні однорідні матриці для наших розрахунків.
Спочатку нам потрібні три матриці обертання, а саме по одній для кожної з трьох осей літака (вертикальна вісь, поперечна вісь, поздовжня вісь).
- Навколо осі X (зазвичай визначається як поздовжня вісь у системі координат об'єкта)
- Навколо осі Y (зазвичай визначається як поперечна вісь в об'єктній системі координат)
- Навколо осі Z (зазвичай визначається як вертикальна вісь в системі об'єктів координат)
Ми також використовуємо матрицю перекладу, яка переміщує літальний апарат до потрібної точки нашого світу:
Тепер ми могли обчислити положення вершин літака у світових координатах, помноживши кожну точку послідовно на ці чотири матриці. Оскільки множення матриці з вектором є досить дорогим (забирає багато часу), зазвичай проходить інший шлях і спочатку множить чотири матриці разом. Множення двох матриць ще дорожче, але повинно бути виконане лише один раз для всього об’єкта. Множення і < рівнозначні. Після цього отримана матриця може бути застосована до вершин. На практиці, однак, множення з вершинами все ще не застосовується, але матриці камери – див. Нижче – визначаються спочатку.
Порядок застосування матриць є важливим, оскільки множення матриць не є комутативним. Це стосується також трьох обертів, як це можна продемонструвати на прикладі: Точка (1, 0, 0) лежить на осі X, якщо повернути її спочатку на 90 ° навколо X–, а потім навколо осі Y, він закінчується на осі Z (обертання навколо осі X не впливає на точку, яка знаходиться на осі). Якщо, з іншого боку, спершу обертається навколо осі Y, а потім навколо осі X, отримана точка розташована на осі Y. Сама послідовність довільна до тих пір, поки вона завжди однакова. Послідовність з x, то y, тоді z (рулон, крок, заголовок) часто найінтуїтивніша, оскільки обертання призводить до того, що напрямок компаса збігається з напрямком «носа».
Для визначення цих матриць також є дві конвенції, залежно від того, чи бажаєте ви працювати з векторами стовпців або векторами рядків. Тут різні графічні бібліотеки мають різні переваги. OpenGL віддає перевагу векторам стовпців, рядковим векторам DirectX. Рішення визначає, з якої сторони точкові вектори потрібно помножити на матриці перетворення. Для векторів стовпців множення виконується праворуч, тобто, де vout та vin 4x1 стовпчикові вектори. Зв'язування матриць також робиться справа наліво, тобто, наприклад , при першому обертанні, а потім перемиканні.
У випадку векторів рядків це працює саме навпаки. Зараз множення відбувається зліва як з векторами 1x4–рядків і конкатенація коли ми також спочатку обертаємося, а потім рухаємося. Матриці, показані вище, дійсні для другого випадку, тоді як ті для векторів стовпців переміщуються. Правило застосовується, що для множення з векторами означає, що ви можете перемикати порядок множення, переміщуючи матрицю.
Цікавим у цьому ланцюжку матриць є те, що нова система координат визначається кожним таким перетворенням. Це можна продовжити за бажанням. Наприклад, гвинт літака може бути окремою моделлю, яка потім розміщується перекладом на ніс літака. У цьому перекладі потрібно лише описати перехід від модельної системи координат до системи координат гвинта. Для того, щоб намалювати весь літальний апарат, спочатку визначається матриця перетворення для літального апарату, точки трансформуються, а потім матриця моделі гвинта примножується на матрицю літака, а потім перетворюються точки гвинта.
Матриця, обчислена таким чином, також називається матрицею світу. Він повинен бути визначений для кожного об'єкта у світі до надання. Додаток може ввести тут зміни, наприклад змінити положення літака відповідно до швидкості після кожного кадру.
Перетворення камери
Окрім об'єктів, сцена також визначає віртуальну камеру чи переглядач, які вказують положення та напрямок перегляду, з якого повинна бути відображена сцена. Для спрощення подальшого проєктування та відсікання сцена перетворюється таким чином, що камера знаходиться біля початку, дивлячись вздовж осі Z. Отримана система координат називається системою координат камери, а перетворення називається трансформацією камери або переглядом трансформації.
- Матриця перегляду зазвичай визначається з положення камери, цільової точки (там, де дивиться камера) та "вектора вгору" ("вгору" з точки зору глядача). Спочатку потрібні три допоміжні вектори:
- Zaxis = нормальний (cameraPosition – cameraTarget)
- Xaxis = нормальний (крос (cameraUpVector, zaxis))
- Yaxis = хрест (zaxis, xaxis)
- При нормальному (v) = нормалізації вектора v;
- Вектор (v1, v2) = векторний добуток v1 і v2.
- Нарешті, матриця:
- з крапкою (v1, v2) = скалярний добуток v1 і v2.
Проєкція
Крок 3D–проєкції перетворює об'єм перегляду в куб з координатами кутових точок (–1, –1, 0) та (1, 1, 1); Інколи також використовуються інші цільові обсяги. Цей крок називається проєкцією, хоча він перетворює об'єм в інший об'єм, оскільки отримані Z координати не зберігаються на зображенні, а використовуються лише у Z-буферизації на наступному етапі растрування. У перспективній ілюстрації використовується центральна проєкція. Для обмеження кількості відображуваних об'єктів використовуються дві додаткові площини відсікання. Таким чином, візуальний об'єм є зрізаною пірамідою. Паралельна або ортогональна проєкція використовується, наприклад, для технічних зображень, оскільки вона має перевагу в тому, що всі паралелі в об'єктному просторі також є паралельними в просторі зображення, а поверхні та об'єми мають однаковий розмір незалежно від відстані від глядача. Карти використовують, наприклад, ортогональну проєкцію (так званий ортофотографія), але косі зображення пейзажу не можуть бути використані таким чином – хоча їх технічно можна зобразити, вони здаються такими спотвореними, що ми не можемо використовувати їх. Формула для обчислення матриці перспективного відображення:
- З h = cot (fieldOfView / 2.0) (кут діафрагми камери); w = h / аспектRatio (співвідношення сторін цільового зображення); поблизу = Найменша відстань, яку видно; далеко = Найдовша відстань, яку видно.
Причини, з яких тут потрібно надати найменшу та найбільшу відстань, – це, з одного боку, те, що ця відстань ділиться на, щоб досягти масштабування сцени (більш віддалені об'єкти менші за перспективним зображенням, ніж поблизу об’єктів), а з іншого боку, для масштабування значень Z до діапазону 0..1 для заповнення Z – буфера. Цей буфер часто має лише роздільну здатність 16 біт, тому значення близького та далекого значення слід вибирати ретельно. Занадто велика різниця між близьким і далеким значенням призводить до так званих Z–боїв через низьку роздільну здатність буфера Z –. З формули також видно, що близьке значення не може бути 0, оскільки ця точка є точкою фокусування проєкції. На даний момент немає жодної картини.
Для повноти формула паралельної проєкції (ортогональна проєкція):
- З w = ширина цільового куба (розмірність в одиницях світової системи координат); Н = w / аспектRatio (співвідношення сторін цільового зображення); поблизу = Найменша відстань, яку видно; далеко = Найдовша відстань, яку видно.
З метою ефективності матриця камери та проєкції зазвичай поєднується в матрицю перетворення, щоб система координат камери була опущена. Отримана матриця зазвичай однакова для одного зображення, тоді як світова матриця виглядає по–різному для кожного об'єкта. Тому на практиці огляд та проєкція попередньо розраховуються так, що під час відображення має бути адаптована лише світова матриця. Однак можливі і більш складні перетворення, такі як вершинне змішування. Також можуть бути виконані вільно програмовані шейдери геометрії, що змінюють геометрію.
На етапі фактичного відображення обчислюється матриця проєкції матриці світової матриці * камери *, а потім остаточно застосовується до кожної окремої точки. Таким чином, точки всіх об'єктів переносяться безпосередньо в систему координатних екранів (принаймні майже, діапазон значень осей все ще –1..1 для видимого діапазону, див. Розділ «Вікно – Відображення – Трансформація»).
Освітлення
Часто сцена містить джерела світла, розміщені в різних положеннях, щоб зробити освітлення предметів більш реалістичним. У цьому випадку коефіцієнт посилення текстури розраховується для кожної вершини на основі джерел світла та властивостей матеріалу, пов'язаних із відповідним трикутником. На пізньому етапі растерізації значення вершин трикутника інтерполюються над його поверхнею. На всі поверхні застосовується загальне освітлення (навколишнє світло). Це дифузна і, таким чином, напрямково–незалежна яскравість сцени. Сонце – це спрямоване джерело світла, яке можна вважати нескінченно далеко. Освітленість, здійснювана сонцем на поверхні, визначається формуванням скалярного добутку спрямованого вектора від сонця та нормального вектора поверхні. Якщо значення негативне, поверхня повернута до сонця.
Відсікання
Тільки примітиви, що знаходяться у візуальному обсязі, насправді потрібно вирощувати (малювати). Цей візуальний об'єм визначається як внутрішня частина зрізаної піраміди, форма у вигляді піраміди із відрізаною верхівкою. Примітиви, які повністю знаходяться поза зоровим об'ємом, викидаються; Це називається випаданням зрізаної пераміди. Подальші способи відсікання, такі як зворотне відсікання, які зменшують кількість примітивів, які слід розглядати, теоретично можуть бути виконані на будь–якому етапі графічного конвеєра. Примітиви, які знаходяться лише частково всередині куба, повинні бути притиснутим до куба. Перевага попереднього кроку проєктування полягає в тому, що відсікання завжди відбувається проти одного куба. На остаточний крок пересилаються лише примітиви, можливо відрізані, які знаходяться у візуальному обсязі.
Перетворення вікна – перегляду
Для виведення зображення в будь–яку цільову область (вікно перегляду) екрану необхідно застосувати ще одне перетворення, перетворення Вікно – Перегляд. Це зсув з подальшим масштабуванням. Отримані координати – це координати пристрою вихідного пристрою. Вікно перегляду містить 6 значень: висота та ширина вікна у пікселях, лівий верхній кут вікна у координатах вікна (зазвичай 0, 0) та мінімальні та максимальні значення для Z (зазвичай 0 та 1).
- Формально:
- З vp = Viewport; v = Точка після проєкції
На сучасному обладнанні більшість етапів обчислення геометрії виконуються у вершинних шейдерах. Це, в принципі, вільно програмується, але, як правило, виконує принаймні перетворення точок і розрахунок освітленості. Для інтерфейсу програмування DirectX використання користувальницького вершинного шейдера необхідно з версії 10, тоді як для старих версій все ще є стандартний шейдер.
Растеризація
Етап растерізації є завершальним кроком перед фрагментом конвеєру шейдерів, що всі примітиви растрифіковані Pixel pipeline. На етапі растерізації створюються дискретні фрагменти із суцільних примітивів.
На цій стадії графічного конвеєра точки сітки також називають фрагментами, задля більшої виразності. Кожному фрагменту відповідає один піксель у буфері кадру, і це відповідає одному пікселю екрана. Вони можуть бути кольоровими (і, можливо, освітленими). Крім того, необхідно визначити видимий, ближчий до спостерігача фрагмент, у разі перекриття полігонів. Для цього так званого [en] визначення прихованої поверхні зазвичай використовується Z – буфер. Колір фрагмента залежить від освітленості, текстури та інших матеріальних властивостей видимого примітиву і часто інтерполюється за допомогою властивостей вершини трикутника. Якщо є, шейдер фрагмента (також званий Pixel Shader) виконується на етапі растрування для кожного фрагмента об'єкта. Якщо фрагмент видно, його тепер можна змішати з уже наявними значеннями кольорів на зображенні, якщо використовується прозорість або багатопробність. На цьому кроці один або кілька фрагментів перетворюються на піксель.
Щоб уникнути того, що користувач бачить поступову растеризацію примітивів, відбувається подвійна буферизація. Растеризація проводиться в спеціальній області пам’яті. Після того, як зображення було повністю растровано, воно копіюється у видиму область пам'яті зображення.
Зворотний
Усі використовувані матриці є неоднорідними і зворотніми. Оскільки множення двох невироджених матриць створює іншу несинулярну матрицю, вся матриця перетворення також є незворотною. Зворотний потрібен для перерахунку світових координат із координат екрану – наприклад, для визначення з позиції вказівника миші на клацається об’єкт. Однак оскільки екран і миша мають лише два виміри, третій невідомий. Тому промінь проєктується на положення курсора у світ і тоді визначається перетин цього променя з багатокутниками у світі.
Шейдер
Класичні відеокарти все ще відносно близькі до графічного конвеєра. Зі збільшенням вимог до GPU обмеження поступово знімалися, щоб створити більшу гнучкість. Сучасні відеокарти використовують вільно програмований конвеєр, керований шейдером, що дозволяє отримати прямий доступ до окремих етапів обробки. Щоб звільнити основний процесор, додаткові етапи обробки були переміщені до конвеєра та GPU.
Найважливішими шейдерними одиницями є піксельні шейдери, вершинні шейдери та шейдери з геометрії. Єдиний шейдер був введений для повного використання всіх одиниць. Це дає вам єдиний великий пул шейдерних одиниць. У міру необхідності басейн розділений на різні групи шейдерів. Тому суворе розділення між типами шейдерів більше не корисне.
Можна також використовувати так званий обчислювальний–шейдер для виконання будь–яких обчислень поза відображенням графіки на GPU. Перевага в тому, що вони працюють паралельно, але є обмеження. Ці універсальні обчислення також називаються обчисленнями загального призначення на графічних процесорах, або короткими GPGPU.
Дивись також
Джерела
- Tomas Akenine–Möller, Eric Haines: Real–Time Rendering. AK Peters, Natick, Mass. 2002, .
- Michael Bender, Manfred Brill: Computergrafik: ein anwendungsorientiertes Lehrbuch. Hanser, München 2006, .
- Fischer, Martin (4 липня 2011). Pixel-Fabrik. Wie Grafikchips Spielewelten auf den Schirm zaubern. c't Magazin für Computer Technik. Heise Zeitschriften Verlag. с. 180. ISSN 0724-8679.
Список літератури
- Lawrence, Jason (22 жовтня 2012). 3D Polygon Rendering Pipeline (PDF). web.archive.org. (PDF) оригіналу за 29 грудня 2016. Процитовано 19 вересня 2019.
- Tomas Akenine-Möller, Eric Haines: Real-Time Rendering[недоступне посилання], S. 11. (PDF)
- K. Nipp, D. Stoffer; Lineare Algebra; v/d/f Hochschulverlag der ETH Zürich; Zürich 1998, .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ye sirim perekladom z anglijskoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad kviten 2020 U komp yuternij grafici grafichnij konveyer abo konveyer renderingu ce konceptualna model yaka opisuye yaki kroki potribno vikonati grafichnij sistemi dlya renderingu trivimirnoyi sceni na dvovimirnij ekran Pislya stvorennya 3D modeli napriklad u videogri chi bud yakij inshij 3D komp yuternij animaciyi grafichnij konveyer ce proces peretvorennya ciyeyi 3D modeli v te sho zobrazhayetsya na komp yuteri Oskilki kroki neobhidni dlya ciyeyi operaciyi zalezhat vid vikoristovuvanogo programnogo ta aparatnogo zabezpechennya ta bazhanih harakteristik displeya ne isnuye universalnogo grafichnogo konveyera yakij pidhodit dlya vsih vipadkiv Odnak interfejsi programuvannya grafichnih prikladnih program API taki yak Direct3D i OpenGL buli stvoreni dlya unifikaciyi podibnih krokiv ta upravlinnya grafichnim konveyerom pevnogo aparatnogo priskoryuvacha Ci interfejsi API abstraguyutsya vid bazovogo obladnannya ta dozvolyayut programistu unikati napisannya kodu dlya upravlinnya priskoryuvachami grafichnogo obladnannya AMD Intel NVIDIA tosho Model grafichnogo konveyera zazvichaj vikoristovuyetsya pri vizualizaciyi v rezhimi realnogo chasu Najchastishe bilshist etapiv konveyera realizovani aparatno sho dozvolyaye provoditi specialni optimizaciyi Termin konveyer vikoristovuyetsya v analogichnomu sensi do konveyera v procesorah okremi etapi konveyeru vikonuyutsya paralelno ale blokuyutsya do tih pir poki ne bude vikonanij najpovilnishij krok Koncepciya3D konveyer zazvichaj vidnositsya do najposhirenishoyi formi komp yuternogo 3D renderingu yaka nazivayetsya 3D poligonalne modelyuvannya vidminna vid trasuvannya promeniv ta kidannya promeniv Pri kidanni promeniv vinikaye v tochci de znahoditsya kamera i yaksho cej promin potraplyaye na poverhnyu rozrahovuyetsya kolir i osvitlennya tochki na poverhni de obchislyuyetsya udar U rezhimi renderingu bagatokutnika v 3D vidbuvayetsya zvorotne obchislyuyetsya plosha yaka pereglyadayetsya kameroyu a potim stvoryuyutsya promeni vid kozhnoyi chastini kozhnoyi poverhni z oglyadu na kameru i vidslidkovuyutsya do kameri StrukturaGrafichnij konveyer mozhna rozdiliti na tri osnovni chastini Zastosuvannya Geometriya ta Rasterizaciya Programa Krok programi vikonuyetsya programnim zabezpechennyam na golovnomu procesori CPU Na kroci programi vnesennya zmin do sceni za potrebi napriklad shlyahom vzayemodiyi koristuvacha za dopomogoyu pristroyu vvedennya abo pid chas animaciyi U suchasnomu igrovomu rushiyi takomu yak Unity programist zajmayetsya majzhe viklyuchno krokom programi ta vikoristovuye movu visokogo rivnya taku yak C na vidminu vid C abo C Nova scena z usima yiyi primitivami yak pravilo trikutnikami liniyami ta tochkami perehodit do nastupnogo kroku v konveyeri Prikladami zavdan yaki zazvichaj vikonuyutsya na etapi programi ye metodi viyavlennya zitknen animaciya morfing ta priskorennya z vikoristannyam prostorovih shem pidrozdilu takih yak drevo kvadrantiv chi derevo oktantiv Voni takozh vikoristovuyutsya dlya zmenshennya obsyagu osnovnoyi pam yati neobhidnoyi v danij moment chasu Svit suchasnoyi komp yuternoyi gri nabagato bilshij nizh te sho moglo b vpisatis v pam yat odrazu Geometriya Krok geometriyi yakij vidpovidaye za bilshist operacij z poligonami ta yih ru mozhna rozdiliti na nastupni p yat zavdan Ce zalezhit vid konkretnoyi realizaciyi togo yak ci zavdannya organizovani yak faktichni paralelni kroki konveyeru Viznachennya Vershina mnozhina vershini tochka u sviti Dlya z yednannya poverhon vikoristovuyetsya bagato tochok V osoblivih vipadkah hmari tochok malyuyutsya bezposeredno ale ce vse zh vinyatok Trikutnik najposhirenishij geometrichnij primitiv komp yuternoyi grafiki Vin viznachayetsya jogo troma vershinami i vektorom normalej vektor sluzhit dlya poznachennya perednoyi grani trikutnika i ye vektorom perpendikulyarnim poverhni Trikutnik mozhe buti zabezpechenij kolorom abo teksturoyu zobrazhennya skleyene zverhu Trikutniki zavzhdi isnuyut v odnij ploshini tomu voni viddayut perevagu pered pryamokutnikami Svitova sistema koordinat Svitova sistema koordinat ce sistema koordinat v yakij stvoryuyetsya virtualnij svit Ce povinno vidpovidati dekilkom umovam shob nastupna matematika bula legko zastosovana Ce povinna buti pryamokutna dekartova sistema koordinat u yakij vsi osi odnakovo masshtabuyutsya Yak viznacheno odinicyu sistemi koordinat zalishayetsya rozrobniku Vid togo chi povinen odinichnij vektor sistemi vidpovidati realno odnomu metru abo Angstremu zalezhit vid zastosuvannya Vikoristovuvati dekardovoi sistemi koordinat mozhe viznachati grafichna biblioteka yaka bude vikoristovuvatisya Priklad Yaksho mi planuyemo rozrobiti trenazher polotu mi mozhemo vibrati svitovu sistemu koordinat shob pochatok znahodivsya poseredini zemli a odinicya bula vstanovlena na odin metr Krim togo shob polegshiti posilannya na realnist mi viznachayemo sho vis X povinna peretinati ekvator na nulovomu meridiani a vis Z prohodit cherez polyusi U pravij sistemi vis Y prohodit cherez meridian 90 Shid des v Indijskomu okeani Teper u nas ye sistema koordinat yaka opisuye kozhnu tochku na Zemli u trivimirnih dekartovih koordinatah U cij sistemi koordinat mi zaraz modelyuyemo principi nashogo svitu gir dolin ta okeaniv Primitka Okrim komp yuternoyi geometriyi dlya zemli vikoristovuyut geografichni koordinati tobto shirotu i dovgotu a takozh visotu nad rivnem morya Oriyentovna konversiya yaksho ne vrahovuvati toj fakt sho zemlya ne ye tochnoyu sferoyu prosta xyz R hasl cos lat cos long R hasl cos lat sin long R hasl sin lat displaystyle begin pmatrix x y z end pmatrix begin pmatrix R hasl cos lat cos long R hasl cos lat sin long R hasl sin lat end pmatrix z R radius Zemli 6 378 137m lat Shirota dovga Dovgota hasl visota nad rivnem morya Usi navedeni nizhche prikladi zastosovuyutsya u pravij sistemi Dlya sistemi z livoyu rukoyu znaki mozhut znadobitisya zaminiti Ob yekti sho mistyatsya v sceni budinki dereva mashini chasto proyektuyutsya u vlasnij sistemi ob yektiv koordinat takozh yiyi nazivayut modelnoyu sistemoyu koordinat abo lokalnoyu sistemoyu koordinat z mirkuvan bilsh prostogo modelyuvannya Dlya prisvoyennya cim ob yektam koordinat u svitovij sistemi koordinat abo globalnij sistemi koordinat vsiyeyi sceni koordinati ob yekta peretvoryuyutsya za dopomogoyu perekladu obertannya abo masshtabuvannya Ce robitsya shlyahom mnozhennya vidpovidnih matric perehodu Krim togo z odnogo ob yekta mozhe buti sformovano kilka riznoridno peretvorenih kopij napriklad lis z dereva Cya metodika nazivayetsya instanciyeyu Dlya togo shob rozmistiti model litaka u sviti mi spochatku viznachayemo chotiri matrici Oskilki mi pracyuyemo v trivimirnomu prostori nam potribni chotirivimirni odnoridni matrici dlya nashih rozrahunkiv Spochatku nam potribni tri matrici obertannya a same po odnij dlya kozhnoyi z troh osej litaka vertikalna vis poperechna vis pozdovzhnya vis Navkolo osi X zazvichaj viznachayetsya yak pozdovzhnya vis u sistemi koordinat ob yekta Rx 10000cos a sin a 00 sin a cos a 00001 displaystyle R x begin pmatrix 1 amp 0 amp 0 amp 0 0 amp cos alpha amp sin alpha amp 0 0 amp sin alpha amp cos alpha amp 0 0 amp 0 amp 0 amp 1 end pmatrix Navkolo osi Y zazvichaj viznachayetsya yak poperechna vis v ob yektnij sistemi koordinat Ry cos a 0 sin a 00100sin a 0cos a 00001 displaystyle R y begin pmatrix cos alpha amp 0 amp sin alpha amp 0 0 amp 1 amp 0 amp 0 sin alpha amp 0 amp cos alpha amp 0 0 amp 0 amp 0 amp 1 end pmatrix Navkolo osi Z zazvichaj viznachayetsya yak vertikalna vis v sistemi ob yektiv koordinat Rz cos a sin a 00 sin a cos a 0000100001 displaystyle R z begin pmatrix cos alpha amp sin alpha amp 0 amp 0 sin alpha amp cos alpha amp 0 amp 0 0 amp 0 amp 1 amp 0 0 amp 0 amp 0 amp 1 end pmatrix Mi takozh vikoristovuyemo matricyu perekladu yaka peremishuye litalnij aparat do potribnoyi tochki nashogo svitu Tx y z 100001000010xyz1 displaystyle T x y z begin pmatrix 1 amp 0 amp 0 amp 0 0 amp 1 amp 0 amp 0 0 amp 0 amp 1 amp 0 x amp y amp z amp 1 end pmatrix Teper mi mogli obchisliti polozhennya vershin litaka u svitovih koordinatah pomnozhivshi kozhnu tochku poslidovno na ci chotiri matrici Oskilki mnozhennya matrici z vektorom ye dosit dorogim zabiraye bagato chasu zazvichaj prohodit inshij shlyah i spochatku mnozhit chotiri matrici razom Mnozhennya dvoh matric she dorozhche ale povinno buti vikonane lishe odin raz dlya vsogo ob yekta Mnozhennya v Rx Ry Rz T displaystyle v R x R y R z T i lt v Rx Ry Rz T displaystyle v R x R y R z T rivnoznachni Pislya cogo otrimana matricya mozhe buti zastosovana do vershin Na praktici odnak mnozhennya z vershinami vse she ne zastosovuyetsya ale matrici kameri div Nizhche viznachayutsya spochatku Poryadok zastosuvannya matric ye vazhlivim oskilki mnozhennya matric ne ye komutativnim Ce stosuyetsya takozh troh obertiv yak ce mozhna prodemonstruvati na prikladi Tochka 1 0 0 lezhit na osi X yaksho povernuti yiyi spochatku na 90 navkolo X a potim navkolo osi Y vin zakinchuyetsya na osi Z obertannya navkolo osi X ne vplivaye na tochku yaka znahoditsya na osi Yaksho z inshogo boku spershu obertayetsya navkolo osi Y a potim navkolo osi X otrimana tochka roztashovana na osi Y Sama poslidovnist dovilna do tih pir poki vona zavzhdi odnakova Poslidovnist z x to y todi z rulon krok zagolovok chasto najintuyitivnisha oskilki obertannya prizvodit do togo sho napryamok kompasa zbigayetsya z napryamkom nosa Dlya viznachennya cih matric takozh ye dvi konvenciyi zalezhno vid togo chi bazhayete vi pracyuvati z vektorami stovpciv abo vektorami ryadkiv Tut rizni grafichni biblioteki mayut rizni perevagi OpenGL viddaye perevagu vektoram stovpciv ryadkovim vektoram DirectX Rishennya viznachaye z yakoyi storoni tochkovi vektori potribno pomnozhiti na matrici peretvorennya Dlya vektoriv stovpciv mnozhennya vikonuyetsya pravoruch tobtovout M vin displaystyle v out M v in de vout ta vin 4x1 stovpchikovi vektori Zv yazuvannya matric takozh robitsya sprava nalivo tobto napriklad M Tx Rx displaystyle M T x R x pri pershomu obertanni a potim peremikanni U vipadku vektoriv ryadkiv ce pracyuye same navpaki Zaraz mnozhennya vidbuvayetsya zliva yakvout vin M displaystyle v out v in M z vektorami 1x4 ryadkiv i konkatenaciya M Rx Tx displaystyle M R x T x koli mi takozh spochatku obertayemosya a potim ruhayemosya Matrici pokazani vishe dijsni dlya drugogo vipadku todi yak ti dlya vektoriv stovpciv peremishuyutsya Pravilo v M T MT vT displaystyle v M T M T v T zastosovuyetsya sho dlya mnozhennya z vektorami oznachaye sho vi mozhete peremikati poryadok mnozhennya peremishuyuchi matricyu Cikavim u comu lancyuzhku matric ye te sho nova sistema koordinat viznachayetsya kozhnim takim peretvorennyam Ce mozhna prodovzhiti za bazhannyam Napriklad gvint litaka mozhe buti okremoyu modellyu yaka potim rozmishuyetsya perekladom na nis litaka U comu perekladi potribno lishe opisati perehid vid modelnoyi sistemi koordinat do sistemi koordinat gvinta Dlya togo shob namalyuvati ves litalnij aparat spochatku viznachayetsya matricya peretvorennya dlya litalnogo aparatu tochki transformuyutsya a potim matricya modeli gvinta primnozhuyetsya na matricyu litaka a potim peretvoryuyutsya tochki gvinta Matricya obchislena takim chinom takozh nazivayetsya matriceyu svitu Vin povinen buti viznachenij dlya kozhnogo ob yekta u sviti do nadannya Dodatok mozhe vvesti tut zmini napriklad zminiti polozhennya litaka vidpovidno do shvidkosti pislya kozhnogo kadru Peretvorennya kameri Zliva polozhennya ta napryam virtualnogo pereglyadacha kameri viznachenij koristuvachem Pravoruch Roztashuvannya ob yektiv pislya peretvorennya kameri Svitlo sira zona ce vidimij ob yem Okrim ob yektiv scena takozh viznachaye virtualnu kameru chi pereglyadach yaki vkazuyut polozhennya ta napryamok pereglyadu z yakogo povinna buti vidobrazhena scena Dlya sproshennya podalshogo proyektuvannya ta vidsikannya scena peretvoryuyetsya takim chinom sho kamera znahoditsya bilya pochatku divlyachis vzdovzh osi Z Otrimana sistema koordinat nazivayetsya sistemoyu koordinat kameri a peretvorennya nazivayetsya transformaciyeyu kameri abo pereglyadom transformaciyi Matricya pereglyadu zazvichaj viznachayetsya z polozhennya kameri cilovoyi tochki tam de divitsya kamera ta vektora vgoru vgoru z tochki zoru glyadacha Spochatku potribni tri dopomizhni vektori Zaxis normalnij cameraPosition cameraTarget Xaxis normalnij kros cameraUpVector zaxis Yaxis hrest zaxis xaxis Pri normalnomu v normalizaciyi vektora v Vektor v1 v2 vektornij dobutok v1 i v2 Nareshti matricya xaxis xyaxis xzaxis x0xaxis yyaxis yzaxis y0xaxis zyaxis zzaxis z0 dot xaxis cameraPosition dot yaxis cameraPosition dot zaxis cameraPosition 1 displaystyle begin pmatrix xaxis x amp yaxis x amp zaxis x amp 0 xaxis y amp yaxis y amp zaxis y amp 0 xaxis z amp yaxis z amp zaxis z amp 0 dot xaxis cameraPosition amp dot yaxis cameraPosition amp dot zaxis cameraPosition amp 1 end pmatrix z krapkoyu v1 v2 skalyarnij dobutok v1 i v2 Proyekciya Krok 3D proyekciyi peretvoryuye ob yem pereglyadu v kub z koordinatami kutovih tochok 1 1 0 ta 1 1 1 Inkoli takozh vikoristovuyutsya inshi cilovi obsyagi Cej krok nazivayetsya proyekciyeyu hocha vin peretvoryuye ob yem v inshij ob yem oskilki otrimani Z koordinati ne zberigayutsya na zobrazhenni a vikoristovuyutsya lishe u Z buferizaciyi na nastupnomu etapi rastruvannya U perspektivnij ilyustraciyi vikoristovuyetsya centralna proyekciya Dlya obmezhennya kilkosti vidobrazhuvanih ob yektiv vikoristovuyutsya dvi dodatkovi ploshini vidsikannya Takim chinom vizualnij ob yem ye zrizanoyu piramidoyu Paralelna abo ortogonalna proyekciya vikoristovuyetsya napriklad dlya tehnichnih zobrazhen oskilki vona maye perevagu v tomu sho vsi paraleli v ob yektnomu prostori takozh ye paralelnimi v prostori zobrazhennya a poverhni ta ob yemi mayut odnakovij rozmir nezalezhno vid vidstani vid glyadacha Karti vikoristovuyut napriklad ortogonalnu proyekciyu tak zvanij ortofotografiya ale kosi zobrazhennya pejzazhu ne mozhut buti vikoristani takim chinom hocha yih tehnichno mozhna zobraziti voni zdayutsya takimi spotvorenimi sho mi ne mozhemo vikoristovuvati yih Formula dlya obchislennya matrici perspektivnogo vidobrazhennya w0000h0000far near far 100 near far near far 0 displaystyle begin pmatrix w amp 0 amp 0 amp 0 0 amp h amp 0 amp 0 0 amp 0 amp far near far amp 1 0 amp 0 amp near far near far amp 0 end pmatrix Z h cot fieldOfView 2 0 kut diafragmi kameri w h aspektRatio spivvidnoshennya storin cilovogo zobrazhennya poblizu Najmensha vidstan yaku vidno daleko Najdovsha vidstan yaku vidno Prichini z yakih tut potribno nadati najmenshu ta najbilshu vidstan ce z odnogo boku te sho cya vidstan dilitsya na shob dosyagti masshtabuvannya sceni bilsh viddaleni ob yekti menshi za perspektivnim zobrazhennyam nizh poblizu ob yektiv a z inshogo boku dlya masshtabuvannya znachen Z do diapazonu 0 1 dlya zapovnennya Z bufera Cej bufer chasto maye lishe rozdilnu zdatnist 16 bit tomu znachennya blizkogo ta dalekogo znachennya slid vibirati retelno Zanadto velika riznicya mizh blizkim i dalekim znachennyam prizvodit do tak zvanih Z boyiv cherez nizku rozdilnu zdatnist bufera Z Z formuli takozh vidno sho blizke znachennya ne mozhe buti 0 oskilki cya tochka ye tochkoyu fokusuvannya proyekciyi Na danij moment nemaye zhodnoyi kartini Dlya povnoti formula paralelnoyi proyekciyi ortogonalna proyekciya 2 0 w00002 0 h00001 0 near far 100near near far 0 displaystyle begin pmatrix 2 0 w amp 0 amp 0 amp 0 0 amp 2 0 h amp 0 amp 0 0 amp 0 amp 1 0 near far amp 1 0 amp 0 amp near near far amp 0 end pmatrix Z w shirina cilovogo kuba rozmirnist v odinicyah svitovoyi sistemi koordinat N w aspektRatio spivvidnoshennya storin cilovogo zobrazhennya poblizu Najmensha vidstan yaku vidno daleko Najdovsha vidstan yaku vidno Z metoyu efektivnosti matricya kameri ta proyekciyi zazvichaj poyednuyetsya v matricyu peretvorennya shob sistema koordinat kameri bula opushena Otrimana matricya zazvichaj odnakova dlya odnogo zobrazhennya todi yak svitova matricya viglyadaye po riznomu dlya kozhnogo ob yekta Tomu na praktici oglyad ta proyekciya poperedno rozrahovuyutsya tak sho pid chas vidobrazhennya maye buti adaptovana lishe svitova matricya Odnak mozhlivi i bilsh skladni peretvorennya taki yak vershinne zmishuvannya Takozh mozhut buti vikonani vilno programovani shejderi geometriyi sho zminyuyut geometriyu Na etapi faktichnogo vidobrazhennya obchislyuyetsya matricya proyekciyi matrici svitovoyi matrici kameri a potim ostatochno zastosovuyetsya do kozhnoyi okremoyi tochki Takim chinom tochki vsih ob yektiv perenosyatsya bezposeredno v sistemu koordinatnih ekraniv prinajmni majzhe diapazon znachen osej vse she 1 1 dlya vidimogo diapazonu div Rozdil Vikno Vidobrazhennya Transformaciya Osvitlennya Chasto scena mistit dzherela svitla rozmisheni v riznih polozhennyah shob zrobiti osvitlennya predmetiv bilsh realistichnim U comu vipadku koeficiyent posilennya teksturi rozrahovuyetsya dlya kozhnoyi vershini na osnovi dzherel svitla ta vlastivostej materialu pov yazanih iz vidpovidnim trikutnikom Na piznomu etapi rasterizaciyi znachennya vershin trikutnika interpolyuyutsya nad jogo poverhneyu Na vsi poverhni zastosovuyetsya zagalne osvitlennya navkolishnye svitlo Ce difuzna i takim chinom napryamkovo nezalezhna yaskravist sceni Sonce ce spryamovane dzherelo svitla yake mozhna vvazhati neskinchenno daleko Osvitlenist zdijsnyuvana soncem na poverhni viznachayetsya formuvannyam skalyarnogo dobutku spryamovanogo vektora vid soncya ta normalnogo vektora poverhni Yaksho znachennya negativne poverhnya povernuta do soncya Vidsikannya Vidsikannya primitiviv proti kuba Sinij trikutnik vidkidayetsya koli pomaranchevij trikutnik obrizayetsya stvoryuyuchi dvi novi vershiniZrizana piramida Tilki primitivi sho znahodyatsya u vizualnomu obsyazi naspravdi potribno viroshuvati malyuvati Cej vizualnij ob yem viznachayetsya yak vnutrishnya chastina zrizanoyi piramidi forma u viglyadi piramidi iz vidrizanoyu verhivkoyu Primitivi yaki povnistyu znahodyatsya poza zorovim ob yemom vikidayutsya Ce nazivayetsya vipadannyam zrizanoyi peramidi Podalshi sposobi vidsikannya taki yak zvorotne vidsikannya yaki zmenshuyut kilkist primitiviv yaki slid rozglyadati teoretichno mozhut buti vikonani na bud yakomu etapi grafichnogo konveyera Primitivi yaki znahodyatsya lishe chastkovo vseredini kuba povinni buti pritisnutim do kuba Perevaga poperednogo kroku proyektuvannya polyagaye v tomu sho vidsikannya zavzhdi vidbuvayetsya proti odnogo kuba Na ostatochnij krok peresilayutsya lishe primitivi mozhlivo vidrizani yaki znahodyatsya u vizualnomu obsyazi Peretvorennya vikna pereglyadu Vikno Viglyad Transformaciya Dlya vivedennya zobrazhennya v bud yaku cilovu oblast vikno pereglyadu ekranu neobhidno zastosuvati she odne peretvorennya peretvorennya Vikno Pereglyad Ce zsuv z podalshim masshtabuvannyam Otrimani koordinati ce koordinati pristroyu vihidnogo pristroyu Vikno pereglyadu mistit 6 znachen visota ta shirina vikna u pikselyah livij verhnij kut vikna u koordinatah vikna zazvichaj 0 0 ta minimalni ta maksimalni znachennya dlya Z zazvichaj 0 ta 1 Formalno xyz vp X 1 0 v X vp width 2 0vp Y 1 0 v Y vp height 2 0vp minz v Z vp maxz vp minz displaystyle begin pmatrix x y z end pmatrix begin pmatrix vp X 1 0 v X vp width 2 0 vp Y 1 0 v Y vp height 2 0 vp minz v Z vp maxz vp minz end pmatrix Z vp Viewport v Tochka pislya proyekciyi Na suchasnomu obladnanni bilshist etapiv obchislennya geometriyi vikonuyutsya u vershinnih shejderah Ce v principi vilno programuyetsya ale yak pravilo vikonuye prinajmni peretvorennya tochok i rozrahunok osvitlenosti Dlya interfejsu programuvannya DirectX vikoristannya koristuvalnickogo vershinnogo shejdera neobhidno z versiyi 10 todi yak dlya starih versij vse she ye standartnij shejder Rasterizaciya Dokladnishe Rasterizaciya Etap rasterizaciyi ye zavershalnim krokom pered fragmentom konveyeru shejderiv sho vsi primitivi rastrifikovani Pixel pipeline Na etapi rasterizaciyi stvoryuyutsya diskretni fragmenti iz sucilnih primitiviv Na cij stadiyi grafichnogo konveyera tochki sitki takozh nazivayut fragmentami zadlya bilshoyi viraznosti Kozhnomu fragmentu vidpovidaye odin piksel u buferi kadru i ce vidpovidaye odnomu pikselyu ekrana Voni mozhut buti kolorovimi i mozhlivo osvitlenimi Krim togo neobhidno viznachiti vidimij blizhchij do sposterigacha fragment u razi perekrittya poligoniv Dlya cogo tak zvanogo en viznachennya prihovanoyi poverhni zazvichaj vikoristovuyetsya Z bufer Kolir fragmenta zalezhit vid osvitlenosti teksturi ta inshih materialnih vlastivostej vidimogo primitivu i chasto interpolyuyetsya za dopomogoyu vlastivostej vershini trikutnika Yaksho ye shejder fragmenta takozh zvanij Pixel Shader vikonuyetsya na etapi rastruvannya dlya kozhnogo fragmenta ob yekta Yaksho fragment vidno jogo teper mozhna zmishati z uzhe nayavnimi znachennyami koloriv na zobrazhenni yaksho vikoristovuyetsya prozorist abo bagatoprobnist Na comu kroci odin abo kilka fragmentiv peretvoryuyutsya na piksel Shob uniknuti togo sho koristuvach bachit postupovu rasterizaciyu primitiviv vidbuvayetsya podvijna buferizaciya Rasterizaciya provoditsya v specialnij oblasti pam yati Pislya togo yak zobrazhennya bulo povnistyu rastrovano vono kopiyuyetsya u vidimu oblast pam yati zobrazhennya Zvorotnij Usi vikoristovuvani matrici ye neodnoridnimi i zvorotnimi Oskilki mnozhennya dvoh nevirodzhenih matric stvoryuye inshu nesinulyarnu matricyu vsya matricya peretvorennya takozh ye nezvorotnoyu Zvorotnij potriben dlya pererahunku svitovih koordinat iz koordinat ekranu napriklad dlya viznachennya z poziciyi vkazivnika mishi na klacayetsya ob yekt Odnak oskilki ekran i misha mayut lishe dva vimiri tretij nevidomij Tomu promin proyektuyetsya na polozhennya kursora u svit i todi viznachayetsya peretin cogo promenya z bagatokutnikami u sviti ShejderKlasichni videokarti vse she vidnosno blizki do grafichnogo konveyera Zi zbilshennyam vimog do GPU obmezhennya postupovo znimalisya shob stvoriti bilshu gnuchkist Suchasni videokarti vikoristovuyut vilno programovanij konveyer kerovanij shejderom sho dozvolyaye otrimati pryamij dostup do okremih etapiv obrobki Shob zvilniti osnovnij procesor dodatkovi etapi obrobki buli peremisheni do konveyera ta GPU Najvazhlivishimi shejdernimi odinicyami ye pikselni shejderi vershinni shejderi ta shejderi z geometriyi Yedinij shejder buv vvedenij dlya povnogo vikoristannya vsih odinic Ce daye vam yedinij velikij pul shejdernih odinic U miru neobhidnosti basejn rozdilenij na rizni grupi shejderiv Tomu suvore rozdilennya mizh tipami shejderiv bilshe ne korisne Mozhna takozh vikoristovuvati tak zvanij obchislyuvalnij shejder dlya vikonannya bud yakih obchislen poza vidobrazhennyam grafiki na GPU Perevaga v tomu sho voni pracyuyut paralelno ale ye obmezhennya Ci universalni obchislennya takozh nazivayutsya obchislennyami zagalnogo priznachennya na grafichnih procesorah abo korotkimi GPGPU Divis takozhKonveyer informatika Konveyer komand Aparatne priskorennyaDzherelaTomas Akenine Moller Eric Haines Real Time Rendering AK Peters Natick Mass 2002 ISBN 1 56881 182 9 Michael Bender Manfred Brill Computergrafik ein anwendungsorientiertes Lehrbuch Hanser Munchen 2006 ISBN 3 446 40434 1 Fischer Martin 4 lipnya 2011 Pixel Fabrik Wie Grafikchips Spielewelten auf den Schirm zaubern c t Magazin fur Computer Technik Heise Zeitschriften Verlag s 180 ISSN 0724 8679 Spisok literaturiLawrence Jason 22 zhovtnya 2012 3D Polygon Rendering Pipeline PDF web archive org PDF originalu za 29 grudnya 2016 Procitovano 19 veresnya 2019 Tomas Akenine Moller Eric Haines Real Time Rendering nedostupne posilannya S 11 PDF K Nipp D Stoffer Lineare Algebra v d f Hochschulverlag der ETH Zurich Zurich 1998 ISBN 3 7281 2649 7