Grafikfiltrering hos CoolTechZone

Permalänk
Melding Plague

Grafikfiltrering hos CoolTechZone

<font style="font-size: 10pt"><b>Grafikfiltrering hos CoolTechZone</b></font> <small class="small">måndag 9 augusti av <a href="mailto:nyhet@sweclockers.com">Raul</a></small><br>
<a href="http://www.cooltechzone.com/index.php?option=content&task=vie..." target="_blank" >CoolTechZone</a> har skrivit en artikel som förklarar hur bilinjär- och trilinjär filtrering fungerar. Det man uppnår med filtering av andra och tredje grad är en mjukare övergång mellan pixlarna exempelvis i en bild. Man får en så kallad interpolering mellan pixlarna. Även begreppet MIP Mapping förklaras, och det går främst ut på att skapa en kantutjämning och oskärpa.<br /><br /><a href="http://www.cooltechzone.com/index.php?option=content&task=vie..." target="_blank" >Artikeln</a> är mycket lättförstådd samtidigt som den har bra bilder som visar de olika teknikerna samt vilka skillnader det blir med effekterna påslagna.<br /><br /><i>"MIP Mapping is a form of anti-aliasing that corrects jagged textures and creates a blurred effect. This effect isn’t the type that would annoy you, but it is a blur that smooths the textures to make them more realistic and appealing."</i>

Visa signatur

Observera att samma trivselregler gäller i kommentarstrådarna som i övriga forumet och att brott mot dessa kan leda till avstängning. Kontakta redaktionen om du vill uppmärksamma fel i artikeln eller framföra andra synpunkter.

Permalänk
Hedersmedlem

nu vet man skillnaden

Permalänk
Medlem

Man kan undra hur grafiken kommer utveckla sig, det kommer gå lite lugnare ett tag då Microsoft inte tänker släppa ny dirextX på ett tag? Vi kommer vänta oss mer prestanda än kvalitetsförbättringar?

Permalänk

Mycket bra artikel det där. Microsoft släppte väl Directx 9.0c med sp2 men en helt ny Directx version blir väl först vid longhorn, Directx Next och det blir väl tidigast sommaren 2006, förståss kan ju nya versioner av 9:an komma före. Men att vänta på lite med grafikutvecklingen en stund så processorerna blir snabbare så dagens grafikkort kan utnyttjas fullt ut.

Visa signatur

Msi 875P Neo Lsr || Pentium 4 2600@2853 HT || Kingston ValueRAM 4*256 Mb 400 Mhz Dual || Radeon 9600 pro 400/600 ( 526/802 ) Zalman ZM80D-HP||
3D mark 01: 14327 || 3D mark 03: 4563 || 3D mark 05: 1608 ||

Permalänk
Medlem

Ett citat från artikeln: " This is useful if you have say a 128x128 texture applied to a cube that is off in the distance, and thus it apparently (from perspective) covers an 8x8 pixel area. The GPU has to process 256 texels when it only had to process 64." Tydligen är inte matte hans starkaste sida. Jag får 128x128 till 16384.

Visa signatur

A+ Certified Professional

Permalänk
Medlem

Jag som programmerat 3D-grafik sen långt före 3D-kort kom in på konsumentmarknaden måste säga att artikeln va rätt dålig. Dom verkar inte förstått alls vad trilinjär interpolering går ut på utan bara att det är bättre. Sedan skriver dom att mip-mapping är en kompromiss mellan bilinjär och trilinjär interpolering vilket är fullständigt inkorrekt.

Visa signatur

Din mamma

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Freddy.S
Ett citat från artikeln: " This is useful if you have say a 128x128 texture applied to a cube that is off in the distance, and thus it apparently (from perspective) covers an 8x8 pixel area. The GPU has to process 256 texels when it only had to process 64." Tydligen är inte matte hans starkaste sida. Jag får 128x128 till 16384.

Men texels är väl inte samma sak som pixlar.

Permalänk
Medlem

Den artikeln var inte så värst bra. Den hade dåliga exempelbilder. Jag tycker att denna förklarar mipmapping bättre:
http://www.thetuscorp.com/OGI_CSE506/mipmap1.htm

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av drstock
Jag som programmerat 3D-grafik sen långt före 3D-kort kom in på konsumentmarknaden måste säga att artikeln va rätt dålig. Dom verkar inte förstått alls vad trilinjär interpolering går ut på utan bara att det är bättre. Sedan skriver dom att mip-mapping är en kompromiss mellan bilinjär och trilinjär interpolering vilket är fullständigt inkorrekt.

Håller med, den var inte mkt o ha..

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av drstock
...Sedan skriver dom att mip-mapping är en kompromiss mellan bilinjär och trilinjär interpolering vilket är fullständigt inkorrekt...

De skriver att Brilinjär filtrering är en kompromiss mellan bilinjär och trilinjär filtrering om jag inte misstagit mig helt och hållet.

Visa signatur

Signatur raderad. Var vänlig läs §7 i våra regler

Permalänk
Medlem

Vet inte om jag har rätt, men vad jag har förstått så sparar man texturer med MIP maps för att underlätta arbetet för grafikmotorn. Att texturen sedan ser suddigare ut på avstånd är ju bara en bieffekt, men i bästa fall ska man ju inte se när texturen byts ut mot en mindre detaljerad version.

Visa signatur

| Intel Core i7 4930K | Asus P9x79 Pro | Corsair XMS3 Vegeance 16 GB | GT 640 | Samsung 840 Pro 256 GB + Corsair SSD Force Series 120GB | Be-Quiet L8 CM 530W | 2 x Benq BL2710PT |

Permalänk
Medlem

För att klippa och klistra direkt från artikeln: MIP Mapping is a form of anti-aliasing that corrects jagged textures and creates a blurred effect. This effect isn’t the type that would annoy you, but it is a blur that smooths the textures to make them more realistic and appealing. In MIP Mapping, the foreground’s texture uses full detail and resolution. Further away, a smaller texture may have half the resolution of the foreground is used since your eye obviously cannot resolve as much detail further away

Själv höll jag på med datorer redan innan dom hade grafik (nåja, innan hemdatorer hade grafik) och är knappast någon stjärna på hur det fungerar, men min läsförståelse är ok. CoolTechZone menar att Mipmapping dels ger antialiasing och dels minskar jobbet för gpun genom att minska upplösningen på textures på längre avstånd. Om detta är en korrekt beskrivning av mipmapping eller inte har jag ingen aning om. Däremot menar dom inte att mipmapping är ett kompromiss mellan bilinjär och trilinjär filtrering, men så klantigt som dom har satt rubriken på det avsnittet så är det lätt att missförstå.

Permalänk

Men vilken apa som försökt "förklara" i den här artikeln. Trilinjär interpolation är INTE bikubisk interpolation, vilket jag antar är vad han använt i sin fina MS Paint-screenshot ("titta så mycket bättre det blev! det måste vara det här som kallas antialiasing! eller?")

Det hela är eg mycket enkelt. Om två texels hamnar mer än två pixels ifrån varandra måste man "hitta på" lite färger för de mellanliggande pixlarna. Hur då? Är man lat (eller renderar med en software renderer) kan man ju helt enkelt upprepa ena texelvärdet. Exempel på den tekniken är Doom 1, eller ungefär alla andra softwarerenderade spel. Det blir "pixligt".
Vill man lyxa till det lite så interpolerar man mellanliggande pixlar från texel A till texel B, lämpligtvis med linjär interpolation eftersom det är löjligt enkelt att implementera i hårdvara. Därav benämningen Linear interpolation. Tillämpar man detta både i bredd- (X) och höjd-(Y)led samtidigt kallas det bilinjär interpolation. Det är fortfarande linjärt, men nu i Två (bi-) riktningar.

Interpolation har helt riktigt effekten att pixlarna får jämna övergångar och bilden blir avsevärt mindre "blockig". Man kan kalla det antialiasing om man vill.

MIP Mapping är inte heller så konstigt. Visst är det sant att texturer på högre mip-nivå är mindre, tar mindre minne och därför är "snabbare", dock tar en mip-mappad textur totalt sett MER minne (eftersom den består av N texturer, en för varje level) än en "vanlig" enkel. Varje textur är helt enkelt en på förhand skalad (ritad) version av orginaltexturen. Man ritar helt enkelt texturen så den ser ut i "full storlek" samt på N olika avstånd "bortåt". Att en mipmappad textur blir "suddigare" på avstånd har INGET med nån "antialiasing" per se att göra - texturmålaren har helt enkelt ritat sina texturbilder så! Om man vill kan man rita säg en pil på en textur, och för varje högre mip-nivå rotera pilen lite. Inte blir den suddigare (om du inte ritar den suddigare avsiktligt) men texturen kommer animeras beroende på vilket avstånd från kameran den befinner sig.

Trilinjär interpolering slutligen. Artikel-apan har ingen som helst koll. Med vanlig mip-mapping tenderar texturen att "rycka till" när den övergår från en mip-nivå till nästa. Trilinjär interpolering motverkar detta på ett enkelt sätt: För en given pixel görs först en bilinjär interpolation (A) på mip-nivå x, därefter ytterligare en (B) på mip-nivå (x+1), och slutligen görs en linjär interpolering mellan A och B m.a.p hur "nära" respektive mip-nivå är att vara den rätta. Dvs om avståndet till kameran är så att mip-nivå x är 75% av det ideala, och (x+1) är 25% korrekt, blir interpolationen 0.75*A + 0.25*B. Enkelt!

Naturligtvis är både bi- och trilinjär interpolation endast vettigt med hårdvaruacceleration, om man inte vill vänta 20 sek på varje frame.