|
За да обясним как работи Tile архитектурата
трябва да знаем как работи 3D ускорителя като цяло:
Всички 3D ускорители взимат 3D модела, генериран по математически
път от компютъра и го рендерират в 2D "картинка", която
се изобразява на екрана на компютъра. Този 3D модел обикновено е
изграден от обекти, които от своя страна са съставени от полигони
(триъгълници, не е задължително да са триъгълници но най-често са
точно такива). Тези полигони се дефинират от техните върхове свързани
помежду им с прави. Всеки връх има свои координати в триизмерната
координатна система или X,Y и Z, както и цветна стойност.
В последствие тези полигони се засенчват и/или се текстурират за
да им се придаде цветова стойност и параметри на повърхността. Това
са в общи линии стъпките които довеждат рендерираната 3D сцената
до 2D "картинка" която да се изведе на монитора:
Трансформиране и осветяване, премахване на скритите повърхности,
текстуриране и засенчване.

NVIDIA решиха да се съсредоточат върху ускоряването
на "Трансформиране и осветяване" (Hardware T&L) частта
на процеса, като го включиха като част от хардуера на GeForce чиповете
си. ATI направиха същото с техния Radeon. Другите видеоконтролери
използват централния процесор за тази цел. Включването на тази функция
в хардуера на видео картата позволява много повече полигони да бъдат
изобразени на една сцена, като в същото време освобождава процесора
за други цели. Въпреки че все още силата на "Hardware T&L"
не може да се усети, особено в настоящите игри, тенденцията е бъдещите
игри да включват огромен брой полигони, с които само хардуерен T&L
ще може да се справи.
Imagination Technologies решиха да се съсредоточат
върху подобряване на останалите две части от процеса, като за целта
разработиха революционно нов метод на изпълнение на тези задачи.
Но за да видим какво е "революционното" в случая трябва
по-отблизо да се запознаем с традиционния процес, както той е познат
при обикновените 3D ускорители:
Обикновените ускорители обработват всеки
полигон без да имат "представа" какво ще се случи с него
по-нататък в сцената. След като няма информация за сцената това
означава, че всеки полигон в сцената се текстурира и осветява. Z
буфера се използва за да съхрани дълбочината на всеки пиксел в "back
buffer"-а. При изобразяването на следващия кадър всеки пиксел
на всеки полигон който е рендериран трябва да бъде проверен в Z
буфера за да се разбере дали той се намира по напред в сцената отколкото
пиксела който е записан вече в паметта.

Проверката в Z буфера трябва да бъде направена
СЛЕД като пиксела е вече засенчен и текстуриран. Ако се случи така,
че новият пиксел се намира вече по-напред в сцената от колкото пиксела
записан от предишната сцена в back буфера то новият пиксел напълно
заема мястото на стария или ако е прозрачен двата се смесват ( комбинират
). Следва опресняване на информацията за дълбочината на пиксела
в Z буфера и положението му в BACK буфера. Ако се окаже че новия
пиксел се намира по назад от стария, той просто не се изобразява
и не се правят промени в BACK буфера. След като веднъж сцената се
забърши, BACK буфера се прехвърля в FRONT буфера за да се изобрази
на монитора. Това което описвахме дотук се нарича " Immediate
mode rendering" и се използва още от 1960г. За рендериране
на неподвижни сцени и специални ефекти за филми и в момента се използва
от повечето 3D ускорители.
Тук на сцената излиза PowerVR технологията.
Сигурно ще си помислите "Не е ли огромна загуба на време да
рендерираш пиксели които след това въобще няма да се изобразят?!!"
Инженерите на Imagination Technologies са достигнали до същия извод
и са решили да преусмислят целия процес. Това до което са достигнали
е напълно различен вид на 3D рендерирането известно като "
Tile Based Rendering". Това е ключа към техната PowerVR технология.
Главната идея е да се елиминира ненужното рендериране което довежда
до намаляване на изискванията към трансфера на паметта - ахилесовата
пета на всички ускорители.

Въведение...
Продъжава...
|