Како до подобра графика во компјутерските игри со што помалку “сецкање”

Доколку имате пребарувано низ различните менија на компјутерските игри со надеж да ја направите графиката на вашата омилена игра помазна, сигурно сте налетале во опциите на мени посветено на анти-алиасинг (зборот во менито на англиски би било Аnti-Аliasing или AA). И доколку љубопитноста ве натера да си поиграте со овие опции, можете да забележите дека со вклучување на овој ефект играта станува многу пореалистична и поубава (како на Слика 1), но во исто време може да биде и многу побавна. Токму за овој ефект, алиас-ефектот и што точно се постигнува со таканаречениот анти-алиасинг може да прочитате во овој текст.

Слика 1. Извадок од играта Batman: Arkham Origins, (лево) без анти-алиасинг и (десно) со 8X MSAA. Кликнете за поголема резолуција. (Превземена од http://www.pcgamer.com/pc-graphics-options-explained/?page=2)

За да го разбереме алиас-ефектот, треба прво да разбереме како работи компјутерската графика кога има за задача да нацрта полигон на нашиот екран. Имено, екранот е составен од милиони пиксели, кои се како мали квадратчиња. Графичката карта во компјутерот решава дали овие пиксели се внатре во полигонот или не. Најпростиот и најбрзи начин за ова е таканаречената бинарна одлука – пикселите чијашто средна точка е во полигонот се исполнети со 100% од бојата на полигонот, додека тие чијашто средна точка е надвор од него ја имаат бојата на позадината. Пример за ова е прикажан на Слика 2. Проблемот се јавува доколку зумираме по работ на триаголникот за да видиме што се случува и ни станува јасно дека ваквото бинарно полнење на пикселите доведува до несакан скалест (или алиас-) ефект.

Слика 2. Алиас-ефектот при цртање на полигони на компјутерскиот екран. (Превземена од http://abandonedwig.info/blog/2013/02/24/edge-distance-anti-aliasing.html)

Идеално би било, секој пиксел да го обоиме само делумно, односно онолку колку што припаѓа внатре во полиогнот. За жал, за да се постигне ова треба да се направат многу сложени математички калкулации за секој од пикселите поединечно (а новите компјутери имаат и над 5 милиони пиксели). Како резултат на тоа, посакуваната интерактивност во компјутерските игри станува невозможна. Земајќи го ова во предвид и тргнувајќи од фактот дека е лесно само да се калкулира дали дадена точка од пикселот е во даден полигон или не, научниците имале тешка задача да најдат решение за отстранување на несаканиот скалест ефект.

Решението до коешто е дојдено после многу време и коешто е имплементирано во некои од првите софистицирани графички карти испробува дали пикселот припаѓа на полигонот на неколку места наместо на едно. Потоа бојата на пикселот, наместо бинарна како што е опишано погоре, е средната вредност на боите што се добиени од различните испробани точки. Во компјутерските игри, оваа опција би била означена како SSAA или FSAA (добиена од англиските Super Sampling Anti-Aliasing или Full-Scene Anti-Aliasing). Пред ова име, користиме и NX за да го означиме бројот на точки кои се користени за секој пиксел (на пример, ако користиме 4 точки за пиксел, тогаш го означуваме како 4X SSAA). Овој метод значително ја подобрува графиката, меѓутоа времето кое е потребно за финалното рендерирање се зголемува за онолку пати, колку што имаме повеќе точки за секој пиксел. Затоа и игрите почнуваат да “сецкаат” доколку немаме доволно силен компјутер, а сакаме да го намалиме алиас-ефектот. Пример за ваков вид на анти-алиасинг е видлив во Слика 3 од добро познатата Half Life 2.

Слика 3. Извадок од играта Half Life 2, (лево) без анти-алиасинг и (десно) со SSAA. Кликнете за поголема резолуција. (Превземена од http://www.pcgamer.com/pc-graphics-options-explained/?page=2)

Подоцна, за да го забрзаат овој метод, научниците ги модифицирале графичките карти такашто наместо да се користат неколку точки за секој пиксел, тие го користат овој метод замо за работ на полигоните. Ова е многу побрзо бидејќи работ на полигоните најчесто претставува многу мал дел од сликата што ја гледаме. Погледнете го пак триаголникот од Слика 2 за да увидите и самите дека ова е очигледно. Ваквата модификација се означува со MSAA (од англиското MultiSample Anti-Aliasing). Ваквиот метод се користи во најновата Bamtam: Arkham Origins и е прикажан на Слика 1.

Ако оваа тема ве заинтересира, коментирајте подолу па ќе ви објаснам и за други, понови и побрзи методи за анти-алиасинг. За сега, пробајте да ги забележите разликите во вашите игри преку експериментирање со нивните опции. До следното читање!

Ознаки: , , , ,

Споделете ја содржината на социјалните мрежи!

Слични написи:

Напишете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени со *

Пополнете го ова поле
Пополнете го ова поле
Ве молам, внесете валидна адреса за е-пошта.

Мени

Споделете со пријателите