I grove træk bliver alle trekanterne (og firkanterne) smidt over for hvert enkelt billede -- den smarte programmør sørger dog for ikke at sende flere trekanter over end nødvendigt. Texturerne skulle gerne blive liggende på grafikkortet, hvis programmøren altså ved hvad han laver :-)
--
madmoose.dk
#1 Mener du så, at grafikkortet får alle de nye positioner at vide, somom det var et helt andet sceneri, eller fortæller computeren bare hvormeget texturene skal flyttes?
Istedet for at sende en helt ny kode ud, retter den så bare i den gamle?
--
Nuværende projekt:
GFX med direkte køling.
GFX købes, 32MB ram og opefter.
Modellerne (som består hovedsagligt af trekanter med tre hjørner med 3D-positioner) sendes hver gang. De billeder der bliver tegnet på overfladerne af trekanterne bliver gerne liggende på grafikkortet, men de kan selvfølgelig skiftes ud efter behov.
Hvis et spil ikke har særligt variede overflader kan alle texturerne overføres når banen loades ind og så kan spillet bare overføre alle de trekanter som danner banen for hvert billede. Billedet bliver tegnet internt på grafikkort for hvert trekant der bliver sendt ud og når alle trekanter er overført kalder man en funktion der får grafikkortet til at smække det nye billede op på skærmen.
Informationen om hvor texturerne skal placeres på trekanterne sendes ud sammen med trekanterne, men selve texturen ligger allerede på grafikkortet.
For hvert billede bliver alle trekanterne altså sendt ud på ny, grafikkortet aner ikke om spilleren har rykket sig 1 cm eller 1 km.
Programmøren sørger naturligvis for at det kun er trekanter foran spilleren der bliver sendt ud, dem bagved ham kan han jo alligevel ikke se.
--
madmoose.dk
#3 Så det jeg forstår ved det er, at grafikkortet har texturerne og hver gang der skal laves en frame, så fortæller computeren hvor de forskellige texturer er, lige meget om man har rykket sig, eller står stille?
--
Nuværende projekt:
GFX med direkte køling.
GFX købes, 32MB ram og opefter.
Ja, noget simplificeret, så er det det der sker. Billederne ligger (nogenlunde) fast og 3D-koordinaterne ryger over hver gang.
--
madmoose.dk
En 3D pipeline er temmelig kompleks i dag. Grundstenen er naturligvis matrix transformationer, der afgør hvor punkterne kommer til at ligge i et 3D rum.
Teksturene ligger typisk så vidt muligt i rammene på grafikkortet - man kan smide teksturer frem og tilbage over AGP bussen, men det er tilrådeligt at undgå det da selv en PCIe bus er langt, langt langsommere end vrammene. (PCIe 16x er 4GB/s, mens selv et halvgammelt kort som R9700Pro har 20GB/s båndbredde).
Når man renderer bryder man polygonerne og koordinaterne ned til pixels der bliver mapped til textures, og således kommer til at være texels, men hele forklaringen er groft forsimplet. Det er et utrolig komplekst område som jeg ingenlunde har sat mig ind i. Jeg ved hvordan content creation delen foregår (det bør jeg vel også), men det er også det. :)
L.
--
Dual Xeon 3.3GHz | 2GB ram | 15k/10k SCSI disks | 3500A | DVD-305S | 23" TFT
#6 Vil du så sige at det som vi er noget frem til er rigtig nok?
At kordinaterne skal over AGP soklen hver gang der skal laves en udregning?
--
Nuværende projekt:
GFX med direkte køling.
GFX købes, 32MB ram og opefter.
#7: Ikke nødvendigvis - vores grafikkort har jo denne smarte T&L feature, hvor "T" står for "transform"... Men ellers, ja.
L.
--
Dual Xeon 3.3GHz | 2GB ram | 15k/10k SCSI disks | 3500A | DVD-305S | 23" TFT
#8 "Vores gafikkort" hvad er det for nogen?
--
Nuværende projekt:
GFX med direkte køling.
GFX købes, 32MB ram og opefter.
#8 "Vores gafikkort" hvad er det for nogen?
--
Nuværende projekt:
GFX med direkte køling.
GFX købes, 32MB ram og opefter.
UPS, langsomme HOL
--
Nuværende projekt:
GFX med direkte køling.
GFX købes, 32MB ram og opefter.
#8, #9: De grafikkort der er produceret de sidste 4-5 år. (Siden GF1, eller egenligt Savage4, selvom det ikke virkede).
L.
--
Dual Xeon 3.3GHz | 2GB ram | 15k/10k SCSI disks | 3500A | DVD-305S | 23" TFT
#12 Den skal jeg vidst have skæret ud i pap :)
--
Nuværende projekt:
GFX med direkte køling.
GFX købes, 32MB ram og opefter.
#13: Det originale GeForce introducerede en (over)hyped feature kaldet "Hardware T&L". Det står for "Transformation & Lighting", hvilket betyder at grafikkortet (GPU'en) kan aflaste CPU'en ved at transformere og lyssætte, navnligt henh.v. vertices ("hjørnerne" i polygoner) og polygoner. Således kan man nogle gange slippe for at smide alle vertices for hver frame over til CPU'en.
L.
--
Dual Xeon 3.3GHz | 2GB ram | 15k/10k SCSI disks | 3500A | DVD-305S | 23" TFT