Съвременните технологии подобряване на качеството на 3D изображения - Алексей Ignatenko

текстура филтриране

Текстуриране е основен елемент от съвременните 3D приложения, без много от триизмерен модел, губят голяма част от визуална привлекателност. Въпреки това, процесът на нанасяне на текстура на повърхността не е без артефакти и съответните методи за тяхното потискане. В света на триизмерни игри и след това има специализираните термини като "MIP-картографиране", "три-линеен филтриране" и т.н. който е точно свързани с тези методи.







Особен случай на влияние на стъпката, преди обсъдени, е ефектът на псевдонимите текстурирани повърхности, които за съжаление не могат да бъдат отстранени чрез методи, мулти- или supersampling, както е описано по-горе.

Представете си черно-бял шахматна дъска голям, почти безкраен размер. Да предположим, че се направи на дъската на екрана и да го погледнете под лек ъгъл. За достатъчно отдалечени обекти размери борда клетка неизбежно ще намали размера на един пиксел или по-малко. Този така наречен намаляване оптичен текстура (Минификация). Между пиксела текстура ще "бори" за притежание на пикселите на екрана, което води до неприятно трептене, което е форма на влияние на стъпката. Увеличаването на разделителната способност на екрана (действителна или ефективен) помага само малко, защото в продължение на достатъчно отдалечени обекти подробно текстури пак ще стават по-малки пиксели.

От друга страна, най-проксималната част на дъската, за да ни заемат голяма площ на екрана, и ще можете да гледате на голям пиксел текстура. Това се нарича оптично мащабиране текстура (увеличение). Въпреки, че този проблем не е толкова широко разпространен, за да се намали негативния ефект е необходимо също така да се бори.

Съвременните технологии подобряване на качеството на 3D изображения - Алексей Ignatenko

Съвременните технологии подобряване на качеството на 3D изображения - Алексей Ignatenko

Това текстура шахматна дъска

Самолет текстура картографирани. Обърнете внимание на нарушенията, произтичащи от намаляването на клетка

За да реши проблемите на текстура се използват така наречените филтриране на текстурите. Ако разбирате процеса на изготвяне на триизмерен обект с текстура картографирана, тя може да се види, че изчисляването на цвета на пиксела е, така да се каже, "напротив", - първата е пиксел на екрана, който ще се проектира върху определена точка на обекта, а след това до този момент са всички пиксели текстура, попадащи в това. Избор текстура пиксела и тяхната комбинация (средно) за да се получи крайната цвета на пиксел и екран филтриране наречен текстура.

Съвременните технологии подобряване на качеството на 3D изображения - Алексей Ignatenko

Фигура 7. Screen Area и имиджа си в текстурата

В процеса на текстуриране всеки пиксел на екрана се задава координират в текстура, а това не е задължително да координира цяло число. Освен това, един пиксел съответства на определена област в структурата на изображението, която може да влезе множество пиксели от текстурата. Нека да наречем тази област формиране на пиксел от текстурата. Вътрешни части на нашия съвет пиксел на екрана става много по-малки от текстурата на пиксел и други подобни в този склад (снимката, съдържаща се в консистенцията на пиксел). За дистанционно Обратно, голям брой текстура пиксела (изображение съдържа няколко точки текстура) получава във всеки пиксел. Един пиксел на изображението може да има различни форми и, като цяло, представлява произволен четириъгълник.

Разглеждане на различни техники текстура филтриране и техни вариации.

Най-близкият съсед (най-близкия съсед)

В това, най-простите, методът за цветен пиксел просто избира най-близкия цвят текстура съответния пиксел. Този метод е най-бързо, но поне качеството. В действителност, това не е дори специален метод на филтрация, а просто начин да изберете поне някои текстура пиксел, съответстваща на пиксел на екрана. Тя е широко използвана преди появата на хардуерни ускорители, заедно с разпространението на които е възможността да се използват по-качествени методи.

Филтриране по-близкия съсед

Bilinear филтриране (билинейна)

Bilinear филтриране е четири пиксел текстура най-близо до текущата точка на екрана и получената цвета се определя като резултат от смесване на цветовете на тези пиксели в определена част.

Филтриране по най-близкия съсед и билинеарно филтриране работата достатъчно добре, когато, първо, степента на намаляване на текстурата е малко, и второ, когато видим, текстурата на прав ъгъл, т.е. фронтално. Каква е причината?







Ако ние считаме, както е описано по-горе, "образ" на пиксел на екрана в текстурата, при силно намаляване на това ще включва много текстури пиксела (до всички пиксела!). Освен това, ако погледнем структурата на ъгъл, по-голям ще бъде значително удължен. И в двата случая описаните методи няма да работят правилно, защото филтърът няма да "улови" съответните текстурата пикселите.

За решаването на тези проблеми, използвайте т.нар MIP-картографиране и анизотропна филтриране.

MIP Картографиране

Със значително намаляване на оптичната точка на екрана може да отговаря на много текстури пиксела. Това означава, че изпълнението на дори и най-добър филтър ще изисква много време за усредняване на всички точки. Въпреки това, проблемът може да бъде решен, ако създавате и съхранявате версии на текстурата, в която стойностите ще бъдат осреднени по-рано. И на сцената, изображения пиксел търсенето на за необходимата версия на оригиналната структура и да вземе стойността от нея.

Терминът произлиза от латинската визуализиране multum в Parvo - много малък. При използване на тази технология в графичен ускорител памет в допълнение към текстура изображение се съхранява набор от нейните миниатюри, всяка нови точно два пъти по-малко в сравнение с предишните. Т.е. за размер на текстурата 256x256 128x128 съхранявани и изображения, 64x64 и т.н. до 1x1.

На следващо място, за всеки пиксел, избрано подходящо ниво визуализиране (по-голямата на "имиджа" на пиксела в текстурата, по-малката визуализиране се приема). Други стойности визуализиране могат да бъдат осреднени билинейна или близкия метод съсед (както е описано по-горе), и допълнително филтриране настъпва между съседните нива визуализиране. Това филтриране се нарича три-линейна. Тя осигурява много добри резултати и се използва широко в практиката.

Фигура 9. нива визуализиране

Въпреки това, проблемът с "опъната" образ на пикселите в текстурата остава. Точно поради тази причина, нашия съвет на разстояние изглежда много размита.

анизотропна филтриране

Анизотропна филтриране - този процес филтриране на текстурите, особено като се има предвид при продълговато пиксел на изображението в текстура. В действителност, вместо на квадрата на филтъра (като филтриране билинейна) се използва разширен, което позволява по-качествено изберете цвят за пиксел на дисплея. Това филтриране се използва във връзка с mipmeppingom и осигурява много високо качество. Въпреки това, има недостатъци: реализацията на анизотропна филтриране е доста сложно и се активира, когато скоростта на изтегляне значително пада. Анизотропна филтриране поддържа най-новото поколение NVidia и ATI графични процесори. И с различно ниво на анизотропия - колкото повече нивото, толкова повече "разтеглени" пикселни изображения могат да бъдат правилно обработени и по-добро качество.

Сравнете филтрации

Резултатът е, както следва: за подтискане идентифициращи етикети артефакти текстура хардуер поддържат няколко метода за филтриране, които се различават по отношение на качеството и скоростта. Най-простият метод на филтриране - близкия съсед (което всъщност не се бори с артефакти, а просто запълва в пиксели). Кой е най-често се използва за филтриране билинеарно с MIP-картографиране и Trilinear филтриране. През последните години, графични процесори са започнали да се поддържа най-високо качество филтър режим - анизотропна филтриране.

Съвременните технологии подобряване на качеството на 3D изображения - Алексей Ignatenko

Съвременните технологии подобряване на качеството на 3D изображения - Алексей Ignatenko

Бум картографиране (бум картографиране)

Bump картографиране (бум картографиране) - е вид визуални ефекти, които има за цел да се създаде впечатление за "груби" или неравен повърхности. Напоследък употребата на бум-картографиране е станало почти стандарт за игрални приложения.

Основната идея на бум картографиране - използва текстури да контролират взаимодействието на светлината с повърхността на обекта. Тя ви позволява да добавите малки детайли, без да се увеличи броят на триъгълници. В природата, ние се прави разлика между малки нередности повърхности в сенките: всяка неравност ще от една страна по-лек, а от друга - тъмно. В действителност, окото не може да се направи разграничение между промяна в формата на повърхността. Този ефект се използва в бум-технология за картографиране. Един или повече допълнителни текстура, наложено върху повърхността на обекта и да се използва за изчисляване на осветеността на точките на обекта. Т.е. повърхност на обекта не се променя изобщо, само една илюзия на нередности.

Има няколко метода на бум-картографиране, но преди да продължим да ги разгледа, ще трябва да разбера как да се създаде правилните повърхностни нередности. Както бе споменато по-горе, за тази цел, допълнителни текстури, и те могат да бъдат от различни видове:

нормална карта. В този случай, всеки пиксел магазини допълнителен текстура вектор, перпендикулярна на повърхността (нормална), кодирани под формата на цвят. В нормалните се използват за изчисляване на осветление.

изместване на картата. изместване на картата е текстура на сивата гама, всеки пиксел, който съхранява отместване от оригиналната повърхност.

Тези текстури се получават от дизайнерите на триизмерни модели с геометрия и основни текстури. Има и програми, за да получават нормални карти или изместване автоматично

Предварителна обработка на бум-картографиране (Pre-изчислява бум картографиране)

Текстури, които ще се съхранява информация за повърхността на обекта е създаден по-рано, преди фазата на изображения чрез затъмняване някои точки текстури (и следователно на повърхността) на обекта и други оттенък. Освен това, като се основава на използване на конвенционален текстура.

Този метод не изисква алгоритмични ощипвам, докато рисувате, но, за съжаление, промените в осветеността на повърхността при смяна на позицията на източника на светлина, или обектът не се появява. И без това наистина успешна симулация на неравна повърхност е създаден. Подобни методи се използват за статични части на сцена, често с нивата на архитектура и т.н.

Бум картографиране чрез щамповане (Emboss бум картографиране)

Тази технология е била прилагана за първи графичен процесор (NVidia TNT, TNT2, GeForce). За обект създадете карта изместване. Рисунка се извършва на два етапа. В първия етап пиксел от картата пиксел изместване съставена със себе си. В този втори екземпляр е изместен от малко разстояние по посока на източника на светлина. Това дава следния ефект: положителни стойности разлика определят осветени пиксели, отрицателно - в пиксели в сянка. Тази информация се използва за промяна на съответните цветни пиксели основна текстура.

Bump картографиране използване релеф не изисква хардуер, който поддържа пикселни шейдъри, но тя не работи добре за сравнително големи неравности. Също така, обектите не винаги изглеждат убедителни, тя силно зависи от ъгъла, под който да погледнете повърхността.