Графичка проточна обрада

С Википедије, слободне енциклопедије

Графичка проточна обрада или рендеринг цевовод представља низ корака које је потребно извести да би креирали 2Д репрезентацију одређене 3Д сцене. Другим речима, када смо креирали 3Д модел, графичка проточна обрада је процес у коме се 3Д модел претвара у слику која се приказује на рачунару. У почетку развоја рачунарске графике, користила се фиксна проточна обрада, али како је технологија напредовала, графичка карта је постајала све флексибилнија и општенаменска.

Ово је омогућило да се графичка карта користи и за ограничене облике генералног програмирања. Како је графички хардвер напредовао, напредовали су и АПИ сетови за рад са графиком. Данас се највише користе ОпенГЛ и ДирецтX, док се за генерално програмирање ГПГПУ (енг. Генерал-пурпосе цомпутинг он грапхицс процессинг унитс) користе ЦУДА и ОпенЦЛ.

Концепт графичке проточне обраде[уреди | уреди извор]

3Д проточна обрада дефинише начин на који се 3Д сцене приказују на рачунару. Два основна појма код 3Д приказа су Раy цастинг и 3Д Полyгон рендеринг. Раy цастинг је метод за утврђивање видљивих површина са позиције сваког пиксела на монитору. Код ове методе, зрак потиче из тачке у којој се налази камера и шири се у свим правцима. Ако било који зрак погоди неку површину, тада се рачуна боја и осветљење за тачку коју зрак погађа. Другим речима, помоћу ове методе бирамо пиксел и одређујемо његову боју и осветљеност на основу погођеног објекта.

Зрак се најчешће представља као вектор или као параметарска линија. Осим за утврђивање видљивости, ова метода се користи и код израчунавања сенки, рефлексије, радиометрије и детекције колизије између објеката. Код рендеровања 3Д полигона, дешава се супротно. Узимамо полигон и на основу изабраног полигона одређујемо за које пикселе се рачунају светлост и боја. Уместо да се зраци шаљу из камере у сцену, они се заправо шаљу из сцене у камеру. Графичка проточна обрада се састоји из више фаза.[1]

Фазе проточне обраде[уреди | уреди извор]

3Д Геометрија[уреди | уреди извор]

У овој фази се креирају прости геометријски облици. Ово се обично ради тако што се модел представља помоћу троуглова који су погодни за математичка израчунавања. Метода која се често користи у видео играма за постизање веће прецизности модела је метода мозаика (енг. "тесселлатион") коју подржавају ОпенГЛ 4.x и ДирецтX 11.x АПИ-ји тако што су уведени нови типови схадер програма, тесселлатион схадер и геометрy схадер.

Трансформација модела[уреди | уреди извор]

Сваки модел се на почетку налази у локалном координатном систему, тако да се најпре трансформише у глобални координатни систем у коме се налазе сви модели на сцени.[2]

Трансформације камере[уреди | уреди извор]

У овој фази, глобални координатни систем се трансформише у систем камере, где се камера налази у центру координатног система. Овај координатни систем се другачије назива и систем погледа (енг. "Виеw Спаце").[2]

Осветљење[уреди | уреди извор]

У овој фази се рачуна ниво осветљености за сваки полигон на основу позиције светла као и других својстава ,радиометрије и рефлексије.[3]

Пројекција[уреди | уреди извор]

Поређење различитих типова пројекције

Пројекција је у ствари линеарно пресликавање из н-димензионалног простора у м-димензионални простор, при чему важи м<н. У рачунарској графици, то је обично пресликавање из 3Д простора у 2Д простор, тј. из 3Д простора камере у 2Д координатни систем који користи монитор.[2] На пример, ако је камера центрирана према неком објекту, тај објекат ће се налазити на средини 2Д приказа. Постоји више врста пројекције, али за рачунарску графику две најбитније су:

  1. Перспективна пројекција
  2. Ортогонална пројекција

Код перспективне пројекције, објекти се цртају све мањи са порастом удаљености од камере. Ово смањење је у ствари деформација објекта, и постиже се дељењем X и Y координата са З координатом. Перспективна пројекција представља начин на који човек види ствари у природи. У ортогоналној пројекцији, објекти задржавају оригиналну величину без обзира на удаљеност од камере.

Одбацивање и одсецање[уреди | уреди извор]

Ова фаза се састоји из две мање фазе:

  1. Одбацивање објеката који нису видљиви (енг. цуллинг)
  2. Одсецање делова објеката (енг. цлиппинг)

Прва фаза одбацује објекте који уопште нису видљиви, тј. нису у видном подручију камере. Ово је веома важна оптимизација у рендеровању. Друга фаза одбацује скривене делове оних објеката који су парцијално видљиви. Ово за резултат има једноставнију растеризацију објеката.[4]

Растеризација[уреди | уреди извор]

Растеризација је процес у коме се графика у векторском формату (облици) конвертује у растерски формат (пиксели) за приказ на рачунару. Другим речима, у овој фази се одређују својства као што је боја пиксела или текстура учитана у меморију. Ова фаза је веома сложена, тако да се и сама састоји од више корака који се називају пиксел цевовод.

Референце[уреди | уреди извор]

  1. ^ [„Цомпутер Грапхицс | Елецтрицал Енгинееринг анд Цомпутер Сциенце | МИТ ОпенЦоурсеWаре[[Категорија:Ботовски наслови]]” (ПДФ). Архивирано из оригинала (ПДФ) 07. 09. 2012. г. Приступљено 05. 01. 2014.  Сукоб УРЛ—викивеза (помоћ) Цомпутер Грапхицс | Елецтрицал Енгинееринг анд Цомпутер Сциенце | МИТ ОпенЦоурсеWаре]
  2. ^ а б в http://www.cs.virginia.edu/~gfx/Courses/2012/IntroGraphics/lectures/13-Pipeline.pdf
  3. ^ [„Computer Graphics | Electrical Engineering and Computer Science | MIT OpenCourseWare[[Категорија:Ботовски наслови]]” (PDF). Архивирано из оригинала (PDF) 17. 06. 2012. г. Приступљено 05. 01. 2014.  Сукоб URL—викивеза (помоћ) Computer Graphics | Electrical Engineering and Computer Science | MIT OpenCourseWare]
  4. ^ http://sglab.kaist.ac.kr/~sungeui/CG/Slides/Lecture07.pdf

Спољашње везе[уреди | уреди извор]