Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

3D grafik og GFX'et, hvordan virker det sammen?

Af Nørd Aspirant Stephan | 30-11-2004 16:28 | 953 visninger | 14 svar, hop til seneste
Jeg har læst et noget et sted med AGP soklen og hvordan det nogenlunde virker. Jeg fik dette ud af det: System rammene gemmer 2D billeder af texturerne, grafikkortet sender bud efter et billede og kører positionerne igennem sine pipelines, altså X Y og Z akserne på hvor billederne skal ligge. Derefter har grafikkortet så et 3D billede den gemmer i sine egne ram, og viser på skærmen. Er dette korrekt? Hver gang der sker en ændring i 3D billedet, hvis man trykker på gå tasten i et FPS, skal CPU så sende alle de nye positioner til grafikkortet, eller fortæller computeren bare, hvor meget tingene skal ændre sig?
--
Nuværende projekt: GFX med direkte køling. GFX købes, 32MB ram og opefter.
#1
MadMoose
Maxibruger
30-11-2004 16:34

Rapporter til Admin
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
#2
Stephan
Nørd Aspirant
30-11-2004 16:40

Rapporter til Admin
#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.
#3
MadMoose
Maxibruger
30-11-2004 17:45

Rapporter til Admin
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
#4
Stephan
Nørd Aspirant
30-11-2004 17:58

Rapporter til Admin
#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.
#5
MadMoose
Maxibruger
30-11-2004 18:21

Rapporter til Admin
Ja, noget simplificeret, så er det det der sker. Billederne ligger (nogenlunde) fast og 3D-koordinaterne ryger over hver gang.
--
madmoose.dk
#6
Lestat
Guru
30-11-2004 18:47

Rapporter til Admin
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
#7
Stephan
Nørd Aspirant
30-11-2004 19:17

Rapporter til Admin
#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.
#8
Lestat
Guru
30-11-2004 19:18

Rapporter til Admin
#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
#9
Stephan
Nørd Aspirant
30-11-2004 19:24

Rapporter til Admin
#8 "Vores gafikkort" hvad er det for nogen?
--
Nuværende projekt: GFX med direkte køling. GFX købes, 32MB ram og opefter.
#10
Stephan
Nørd Aspirant
30-11-2004 19:25

Rapporter til Admin
#8 "Vores gafikkort" hvad er det for nogen?
--
Nuværende projekt: GFX med direkte køling. GFX købes, 32MB ram og opefter.
#11
Stephan
Nørd Aspirant
30-11-2004 19:27

Rapporter til Admin
UPS, langsomme HOL
--
Nuværende projekt: GFX med direkte køling. GFX købes, 32MB ram og opefter.
#12
Lestat
Guru
30-11-2004 19:44

Rapporter til Admin
#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
#13
Stephan
Nørd Aspirant
30-11-2004 19:55

Rapporter til Admin
#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.
#14
Lestat
Guru
30-11-2004 21:12

Rapporter til Admin
#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

Opret svar til indlægget: 3D grafik og GFX'et, hvordan virker det sammen?

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning