Grafiktermer

0

Här tar vi upp de mest vanliga
termerna som används när det gäller 3D-grafik. Vi
försöker hålla tillverkares egna “PR-namn” borta från
listan men på vissa ställen har uttrycken blivit standard.

3D Textures:
Se Volumetric Textures.

Accelerated
Graphics Port
: Detta är vad vi kallar AGP och är precis
vad det låter som: en port där man kopplar in sitt grafikkort. AGP
är baserat på PCI och är speciellt anpassat för grafikkort.
Beroende på bussens bandbredd (mäts i megabytes per sekund – Mb/s), kan olika
mängder data skickas. Det finns olika lägen för AGP: 1x är 264 MB/s, 2x är 528
MB/s, 4x är 1017 MB/s, 8x är 2034 MB/s. Just nu är AGP 8x på god
väg in på marknaden.

AGP Texturing:
Systemets minne (ditt vanliga RAM dvs.) kan användas för lagring av Texturer.
Detta gör att videominnet avlastas. Storleken på AGP Texturings utrymme
beror på vad man ställt in AGP Apeture Size på i sitt BIOS.
Vid högupplösta texturer eller när man använder FSAA så
är AGP Texturing viktigt för bibehållen prestanda.


Alpha Blending:
Används vid rendering av polygoner som ska vara genomskinliga, Tex. rök, vatten
och glas.


Alpha Textures:
Detta
är en typ av texturer med inslag av genomskinlighet. Ett exempel på
användningsområden är ett stängsel. Stängslet ses som en enda
yta av datorn, men tack vare att vissa delar är genom skinliga så
ser det ut som om det är ett vanligt stängsel med dess rutnät.








Grind/Stängsel skapat av en Alpha Texture


Anisotropic Filtering:
När små texturer läggs på stora polygoner, sker en utökning av antalet bildpunkter,
vilket gör att texturen ser blockig ut. För att förbättra detta beräknas de
extra bildpunkternas mest sannolika färgvärde. Varianter på sådana filtreringar
är Bilinear Filtering och Trilinear Filtering. Anisotropic Filtering tar till
skillnad från dessa hänsyn till betraktarens vinkel, och är särskilt användbar
när texturen innehåller detaljerade bilder eller till exempel en text. Resultatet
blir en mycket skarpare yta. Metoden brukar kort kallas Aniso. Desto högre
nivå av Aniso desto bättre skärpa/detaljrikedom i texturerna.
Se Texture filtering.


Aliasing: Aliasing är helt enkelt oönskade grafikfel
eller taggiga kanter på grund av för låg upplösning/precision.


Application
Program Interface:
Ett API är en kodbas som utvecklare kan använda
för att slippa programmera direkt till hårdvaran. Istället finns
alla standardfunktioner samlade i ett API. Exempel på 3D API är Open
GL, Glide och Direct 3D.


Buffer: En
Buffer är en dedikerad del av grafikkortets VRAM som är ämnad
att hålla information om diverse saker. Till exempel Z-Buffern används
för att lagra polygoners positioner i 3D och så vidare.

Blending:
Olika metoder för att “blanda” två bilder.

Bumpmapping:
Bumpmapping är en teknik som använder sig av ljusskillnader för
att skapa en illusion av mer tredimensionella detaljer än vad som verkligen
finns. Resultatet blir mycket mer detaljerade scener där ytor kan verka
skrovliga och ojämna på andra sätt. Det finns ett par olika
typer av Bumpmapping, några av de vanligaste är DOT3, Diffuse, EMBM
och Emboss.










Utan Bumpmapping



Diffuse Bumpmapping



Bilinear
Filtering:
En metod som interpolerar (blandar ihop) fyra närliggande
Texels i en textur. Resultatet blir att ytor ser mer jämna
ut och man slipper legoklossaktiga mönster. Se Texture filtering.


Bitmap:
En exakt digital bild där ingen komprimering försiggår.
Varje punkt (Pixel) på bilden består av samma bitdjup (Bit Per
Pixel)
.


Bit Per
Pixel:
Anger färgdjupet. Vid 16 bpp kan man visa en av 65536 färger
per Pixel, vid 32 bit blir talet 16.7 miljoner. Desto högre precision (Bit Per
Pixel) desto mer minne krävs det. När färgerna inte räcker
till försöker grafikkortet använda en metod som kallas Dithering.








16bpp till vänster, 32bpp till höger


Culling:
Culling är en teknik som ser till att enbart polygoner som kommer
synas renderas.


Clipping:
Se Culling.


Depth Cueing:
Tar hänsyn till färg och ljusförändringar när en 3D bild rör sig.

Diffuse:
En teknik där man låter en yta reflektera samma typ av ljus
oavsett vilken vinkel ytan betraktas ifrån.

Direct3D:
Ett API speciellt utvecklat för 3D hantering i Windows. Alla (moderna) grafikkort
har stöd för Direct3D

DirectX: Ett
samlingsnamn för de APIs från Microsoft som används för multimedia. DirectX
består av flera delar för grafik, video och nätverk med mera.

Dithering: Detta är en metod som får låga
färgdjup (till exempel 16 bit) att se bättre ut genom att “blanda”
färger. I ett tätt rutnät av pixlar kan man till exempel blanda mörkblå
och ljusblå för att skapa en illusion av en färg där emellan.

Displacement
Mapping:
Displacement Mapping påminner om Bumpmapping
men där Bumpmapping bara skapar en illusion av deformerade ytor
så deformerar Displacement Mapping dem på riktigt. Detta gör
den genom att först öka polygonantalet och sen forma polygonerna efter
en “mall”. För att öka polygonantalet utan att förlora
så mycket prestanda använder man HOS-metoden N-Patches.


Displacement Mapping

Double Buffering:
Två bilder kan behandlas samtidigt i Frame Buffern med hjälp av denna
teknik. En bild skickas till ena delen av Frame Bufferminnet, samtidigt
som den andra delen visar föregående bild på bildskärmen.

Fill Rate:
Antalet Pixlar ett grafikkort kan rendera under en viss tid.
Anges oftast i Antal Miljoner Pixlar per Sekund.

Fogging: Precis som ordet betyder handlar detta om
att simulera dimma. För att göra detta finns det en lång rad
olika tekniker. Vissa äldre spel använder partiklar för att simulera
dimma men detta är ytterst krävande även för relativt moderna
grafikkort. Ett klassiskt exempel på partikeldimma är rökgranaterna
i Counter Strike. Andra vanliga metoder är Z-Fog, Table Fog, W-Fog, Discrete
Fog, Vertex Fog, Range Fog, Pixel Fog och så vidare. Den bästa formen
av Fogging för tillfället kallas Volumetric Fog och är en avancerad
form som tar betraktarens avstånd och vinkel in i beräkningen för
att kunna tunna ut eller förtjocka dimman.

Frame Buffer:
Denna Buffer håller den bild som ska visas på din skärm.
I princip kan man kort beskriva det som en Bitmap (.bmp) av det som ska visas
på skärmen. Desto högre upplösning och färgdjup desto
mer minne krävs. Man talar om en Front Buffer och en Back Buffer, detta
är relaterat till Double Buffering.

Frames
Per Second:
FPS är en förkortning som de flesta nog är
bekanta med. Kort och gott kan man säga att desto fler frames (bilder helt
enkelt) som visas per sekund desto mer flytande upplevs grafiken.

Full Scene
Antialiasing:
Förkortas oftast FSAA och är en metod som jämnar
ut kantighet vid lägre upplösningar. För att utföra detta
finns det ett par metoder. I huvudsak kan vi bryta ner det i två kategorier:
Mulisampling och Supersampling. Andra metoder är Rotated
Grid Antialiasing och Fragment Antialiasing. De vanligaste är Ordered Grid
Antialiasing och Multisampled Antialiasing. Multisamplad FSAA brukar kallas
MSAA medan Supersamplas kallas SSAA.


Utan FSAA

Med SSAA (4x)

Med MSAA (4x)

Glide:
Ett API skapat av 3dfx. Till uppbyggnaden påminner det
väldigt mycket om Open GL. De enda korten som driver detta API är
Voodoo-korten dock finns det något som kallas “Glide Wrappers”
som kan sköta Glide genom ett annat API. Wrappers ger sämre prestanda
och lider ofta av grafiska buggar dock.

Graphics
Processing Unit:
GPU eller TnL (TcL) är förkortningar som
en del av er säkert känner till. nVidia myntade uttrycket GPU som
kan beskrivas som en grafikprocessor. GPU:n hjälper till att avlasta processorn
under tunga moment och inte helt sällan är GPU:n snabbare för
just sina ändamål än vad CPU:n är.

Hidden
Surface Removal:
Denna teknik förkortas HSR och har fått
en rad olika namn från olika tillverkare. Vad HSR gör är att
räkna ut vilka saker i en scen som verkligen bör ritas upp på
skärmen. Till exempel en man bakom ett hus behövs ju inte målas
upp eftersom han ändå är dold från betraktarens vinkel.
Med diverse metoder kan man med hjälp av HSR öka prestandan rejält
både genom att minska antalet beräkningar med också genom att
minska mängden minne som behöver färdas över de olika bussarna.

High Order
Surfaces:
HOS är en teknik som ökar polygonantal på
modeller direkt i hårdvaran utan någon större utsträckning
av extra programmering krävs av de som skapar modellerna. På detta
sätt kan man öka prestandan eller använda tekniken för att
skapa jämnare modeller i spel med lägre polygonantal. Det finns ett
par versioner av HOS, de två vanligaste är N-Patches/PN Triangles
och RT-Patches/Beizer Curves. Se TRUFORM för bildexempel.


Level of
Detail: MIP Map LOD eller Texture LOD är en inställning som
talar om för grafikkortet när det är dags att byta Texture
Map
. En högre LOD kommer att tvinga de lågupplösta Texturerna
längre bak i scenen. En hög LOD är inte bara guld och gröna
skogar dock. En allt för hög LOD skapar Texture Aliasing/Shimmering
det vill säga att för många pixlar försöker trängas
på en för liten plats. Resultatet blir att Pixlar ser ut att “simma”
inuti en Textur som egentligen bör vara helt statisk. Se Texture filtering.

MIP Mapping: När en polygons yta ska kläs
i en textur använder man något som heter MIP Mapping. Texturen skapas
i en rad olika storlekar och sedan väljs den bästa storleken ut beroende
på vilken vinkel och på vilket avstånd som den ska betraktas
ifrån. På väldigt nära håll använder man då
den mest högupplösta versionen av texturer medan saker i horisonten
använder en mycket mindre lågupplöst version av samma textur. Se Texture
filtering
.

Multi Texturing:
För att skapa snyggare effekter och mer detaljerade scener använder
man ofta mer än ett lager av texturer. Istället för att man måste
rendera samma scen flera gånger (det vill säga en gång per
textur) använder man istället en teknik som kallas Multi Texturing
där flera texturer kan renderas i ett “pass”.

Open GL:
Ett API utvecklat av Silicon Graphics. Det hanterar 2D och 3D funktioner. Från
början användes det för proffesionella ändamål inom grafisk design, men är vanligt
idag som alternativ till Direct3D. Open GL är som namnet antyder en öppen
standard, till skillnad från Direct3D, alla är alltså välkomna
till att bidra. Detta leder till stor flexibilitet men också problem med
kompabilitet.

Particle
System:
Ett Particle System är ett System av partiklar som består
av pixlar eller polygoner. Dessa används för att till exempel skapa
rök, dimma, gnistor med mera.


Particle System

Perspective
Correction:
Detta
är en teknik som ser till att Texture Mappade ytor tar betraktarens vinkel
i “åtanke” samt att de ligger rätt i förhållande
till sitt djup i scenen. Processen kan vara rätt så krävande
och mjukvarurenderade scener använder oftast inte metoden med det resultat
att Texturer ofta ser ut att ligga helt onaturligt på sina ytor.

Pixel:
Kort och gott en färgad bildpunkt. Desto högre upplösning
desto fler pixlar.

Pixel
Shader:
Shader är ett begrepp som används för att beskriva
effekter som ofta skapas genom manipulering av färgvärden på
en per-pixel nivå. Ordet Shaders har använts långt innan Pixel
Shaders introducerades i DirectX 8.0. Effekterna kan liknas vid Bump Mapping
fast de är väldigt överlägsna i komplexitet. Pixel Shaders
är programmerbara och är alltså inte bundna till en viss typ
av effekter. Detta lämnar större utrymme för spelmakarnas kreativitet.
I Open GL kallas Pixel Shaders för Fragment Shaders.


Utan Pixel Shader

Med Pixel Shader

Point Sampled
Filtering:

En typ av Texturfiltrering som ofta används av mjukvarubaserade renderingsprocesser.
Metoder fyller helt enkelt ut närliggande reella Pixlar med det värdet baserat
på en enda Texture Map. Se Texture filtering.

Polygon:
Byggstenen inom 3D, en triangel eller rektangel.

Primitive:
En enkel geometrisk figur som till exempel en fyrkant, pyramid eller cirkel.

Quincunx:
En av nVidia’s Full Scene Anti Aliasing metoder. I princip kan tekniken
beskrivas som vanlig Mulitsamplad FSAA plus ett “suddighetsfilter”.
Själva filtret gör att kantighet försvinner ännu mer fast
å andra sidan får man leva med att bilden blir rätt så
mycket suddigare. Se Full Scene Antialiasing.


Quincunx
FSAA

Quick Draw
3D:
Ett API för 3D på Macintoshdatorer. I sin nuvarande
form är det inte så användbart.

RAMDAC:
En del av grafikkortet som konverterar de digitala signalerna från grafikortet
till analoga signaler som en vanlig CRT-monitor kan ta emot. Desto högre
frekvens (MHz) och precision (bits) desto bättre bild, speciellt vid högre
upplösningar. RAMDAC står för Random Access Memory Digital to
Analog Converter.

Ray Tracing:
Ett renderingssätt där ljusets väg från ljuskällan beräknas för varje bildpunkt.
Reflexer och betraktningsvinkel tas med i beräkningarna. Med denna teknik kan
man skapa otroligt realistiska ljus- och skuggeffekter. För spel är
detta inte lämpligt (än) eftersom processen är otroligt krävande.

Refresh
Rate:
Anger hur många gånger skärmen ska uppdateras
per sekund (Hz).

Rendering:
Benämning
för hela processen (rättare sagt alla processerna) som sker när
man skapar en 3D-scen.

Rasterization:
När en 3D-scen ska skickas till monitorn krävs det först
att den renderas. Med detta menar man att man omvandlar all 3D-data till en
tvådimensionell bild, det vill säga en Bitmap.


Shading (Flat,
Gouruad och Phong): Shading är precis som ordet betyder: Skuggning.
Även simpel skuggning är en viktig del av skapandet av en 3D-scen.
Metoden används ofta för att skugga modeller i 3D som till exempel
karaktärer eller vapen. Flat skuggar enstaka polygoner i en enda färg.
Gouraud skuggor polygoner baserat på deras vertices och skapar därför
en jämnare övergång. Phong är en mer avancerad version
av Gouraud som baserar sina beräkningar på per-pixel Shading.


Flat vs. Gouraud Shading

Specular Highlights:
När en jämn yta belyses, bildas en reflexpunkt. Det här är en teknik som räknar
ut hur ljuset sprids efter att ha träffat ytan. Phong highlight är en liknande
modell.

Sprite:
En Sprite är en tvådimensionell bild som är fritt rörlig
jämte sin bakgrund.

Stencil Buffering:
Bara delar av bildytan behöver renderas, vilket underlättar beräkningarna. Tänk
dig att du sitter i en bil, det du ser genom rutan förändras, medan insidan
av bilen ser i stort sett likadan ut.

Swap:
Swap är en lös term för när man skickar en frame från
framebuffern till monitorn och vid Triple eller Double Buffering
betyder detta att en frame byts ut, därav “Swap”.

Sub Pixel
Precision:

Ibland korsar en linje punkter som inte är egentliga pixlar och därför
kan punkten inte målas ut på skärmen. För att åtgärda
detta kan man bryta ner Pixeln i Sub Pixels. De flesta grafikkort har en Sub
Pixel Precision på 4 subpixlar.

T-Buffer:
En speciell Buffer på senare 3dfx-kort som är relaterad
till olika typer av effekter.

Texel:
En kort beskrivning är att en Texel i princip är 3D’s motsvarighet
till 2D’s Pixel. En Texel är alltså en Pixel i en Texture Map.

Textur: Ett tvådimensionellt mönster. Förutom ljus och färgvärden
för varje bildpunkt, finns även information om hur pass reflektiv ytan är. En
textur kan läggas på en 3D-modell. Det kallas Texture Mapping.

Texture
Compression:

En rad olika metoder som kan användas för att komprimera texturer.
Detta gör man för att spara VRAM. De tre vanligaste formaten
är S3TC, DXTC(1-5) och FXT1.

Texture
Filtering:
För att få snyggare, skarpare och jämnare
texturer använder man filtrering. Idag finns det i princip fyra olika typer
av filtrering. Se Point Sampled Filtering, Bilinear Filtering, Trilinear
Filtering
och Anisotropic Filtering. (Notera att Point Sampled
Filtering-exemplet är lite missvisande, oftast ser resultatet mycket värre
ut. Det vill säga att det oftast ser mycket “pixligare” ut. Det
som inte heller går att se så bra på en stillbild är
“simmande” texturer.)


Point Sampled Filtering

Bilinear Filtering

Trilinear Filtering

Anisotropic Filtering

Transform:
Processen där man ändrar positionen på Vertices.

Transform
and Lightning:
En del av GPU:n som sköter transformeringar
och ljussättning med mera. Kallas ofta TnL, T&L eller TcL (Transform,
Clipping and Lightning). Alla 3D-kort har förmågan att sköta
transform och lightning men med en GPU (Hardware TnL) kan man sköta arbetet
betydligt snabbare.

TRUFORM:
ATi’s implementering av HOS i form av N-Patches. Idag är detta
den enda version av HOS som är i bruk i spel och så kommer det förmodligen
förbli ett bra tag till eftersom RT-Patches är mycket krångligare
att implementera. Se High Order Surfaces.


Polygonantalet ökar med N-Patches

Trilinear
Filtering:
En metod av Texture Filtrering som använder både
2 MIP Mappingvärden och Bilinear Filtering.
Resultatet blir att man interpolerar åtta närliggande Texels.
Se Texture filtering.

Triple
Buffering:
En metod som använder tre Frame Buffers för
att visa renderade bilder. Förutom att den lagrar en bild mer än Double
Buffering
så synkar även Triple Buffering sina Swaps
med monitorns Refresh Rate. Metoden är ganska lik den som används
vid Vertical Sync.

Vertex:
En vertex är den punkt där två sidor av en polygon
möts. I plural kallas de Vertices.

Vertex
Shader:
Precis som Pixel Shaders är Vertex Shaders en
programmerbar del av DirectX (och även Open GL), Vertex Shaders manipulerar
en Vertex värden och kan ändra färg, position och så vidare.
Vertex Shaders kommer knappast bjuda på några “nya” effekter,
dock hjälper det till rejält med prestandan eftersom denna typ av
uträkningar tidigare sköts genom CPU:n.

Vertices:
Se Vertex.

Vertical
Sync:
VSync är ett välanvänt men ofta missförstått
begrepp. VSync gör så att framebuffern synkroniserar sina Swaps
med Monitorns Refresh Rate. Skillnaden jämfört med Triple
Buffering
är att VSync “kräver” att det sker en Swap
vid varje Refresh och väntar tills den får en sådan (Swap
det vill säga). Resultatet blir, om grafikkortet har kraft nog att synkronisera
varje Swap, väldigt flytande.

Volumetric
Textures:
Vanliga texturer förses med en eller två koordinater
för att placeras i 3D-rymden. En Volumetric Texture förses med en
tredje. Detta gör att texturen inte bara täcker ytan av en modell
utan även innandömet. Effekten kan användas för att skapa
realistiska ljusstrålar, dimma och även hela objekt. För ett
objekt betyder detta att texturen kommer appliceras på ytor även
i en genomskärning där en traditionell textur helt enkelt utelämnats.


Snittytorna får en yta med 3D Textures.

Voxel:
En voxel är en Pixel som försetts med information om djupled.
Tekniken är oerhört krävande och inte ens dagens snabbaste processorer
kan rendera en Voxelscen i en högre upplösning som till exempel 1024×768.

VRAM: Video
Random Access Memory. Ett minne på grafikkortet som är dedikerat
till grafik.

W-Buffer:
W-Buffern är en mindre använd variant av Z-Buffern. Istället
för att innehålla tre värden för att representera en punkt
i 3D-rymden så använder W-Buffern interpolerade värden för
att skapa en linjär buffer. Metoden kan vara gynnsam i stora öppna
landskap då W-Buffern tilldelar alla punkter lika mycket precision medan
Z-Buffern har bättre precision rakt framför och nära betraktaren.

Z-Buffer: En del av videominnet som innehåller varje bildpunkts
x-, y- och z-värde, det vill säga hur djupt de olika punkterna ligger i en scen.

 

Om ni har några
begrepp som ni undrar över eller något som ni tycker vi har missat
där ni har en bra förklaring så får ni inte tveka att
höra av er till Anton Nilsson.
Denna artikel kommer att även att uppdateras i fortsättningen när
nya tekniker och uttryck dyker upp på marknaden. Och om ni själva
har något som kan vara bra att ta med i listan så är det som
sagt var bara att höra av er.

Subscribe
Notifiera vid
0 Comments
äldsta
senaste flest röster
Inline Feedbacks
View all comments