Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Wo wird ein Spiel gerendert?
meekee7 Offline
Multimediameistermann

Beiträge: 761
Registriert seit: Jul 2008
Beitrag #1
Wo wird ein Spiel gerendert?
Jaja, ich weiß, hardwaretechnisch übernimmt das Rendering von 3D-Spielen die GPU. Bei Spielen wird dabei das Verfahren der Rasterisierung verwendet. Aber irgendwo muss es dafür ja auch Softwareseitig was geben.

Ist es die Engine des Spiels?
Über diese werden viele Effekte gesteuert...

Ist es die API (Direct3D/OpenGL)?
Diese macht die ganzen Effekte überhaupt erst möglich...

Ist es der Grafikkartentreiber?


Ist das von Spiel zu Spiel unterschiedlich?

http://www.youtube.com/watch?v=GTYs3TRHXB4 Meine Demoreel. ANGUCKEN!!!
29.10.2008 09:21
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Dirk Offline
Software Archäologe

Beiträge: 14.758
Registriert seit: Jul 2008
Beitrag #2
Wo wird ein Spiel gerendert?
Ja es ist unterschiedlich. alte adventures sind ein beispiel dafür.

Am Ende muss immer ein 2D Bild entstehen. Dein Monitor hat ne X und ne Y Achse, die ist in bestimmte teile eingeteilt, z.b. 1280x1024, ergo deine auflösung. im beispiel etwa 1,3 Millionen einzelne quadratische Pixel. für diese pixel muss ein farbwert bestimmt werden. bei nen bild oder halt vorgerenderten bildern wird im idealfall einfach jedes vorberechnete pixel übernommen, bei einem 3d modell geht das nicht.

Die meisten Spiele bestehen aus anordnungen von dreiecken in einem 3D Raum. Es ist also ne 3te Achse, die Z im spiel. jetzt ist es die schwierigkeit diese idealen linien in pixel umzuwandeln, das rendern. stell dir eine kleine bildfläche mit einer diagonalen vor (mal nen strich auf karopapier), jetzt muss die grafikkarte entscheiden welche einzige farbe das karo bekommen soll. ist soviel linie drin das es schwarz werden soll, oder zu wenig das es weiß wird.

am ende hast du dann flächen mit treppenförmigen kanten. und weil es 3d ist muss am besten vorher entschieden werden welche bereiche sichtbar sind und welche nicht, früher wurde einfach der z wert überprüft, heute etwas cleverer.

weil das hässlich ist kommen dann noch effekte hinzu, wie transparenz, antialaising.

Aber im Prinzip passiert das alles auf der grafikkarte. die api stellt nur die möglichkeit der befehle zur vergügung, die die engine ansprechen kann. der treiber hat da nicht viel mit am hut, er stellt wieder nur eine schnittstelle.

OpenGL Code sieht deswegen ganz seltsam aus, weil objekte aufgerufen werden und verändert...

Ein neuer Ansatz ist aber das rendering mit der cpu, wobei es das auch schon früher so 96 rum gab, da ist nur das problem das die cpu einem spezialisiertem chip unterlegen ist und zu langsam arbeitet. aber vor allem intel arbeitet an nen neuen verfahren indem die cpu lichtstrahlen nachzeichnet. das ist das raytracing....

hier mal zur rasterisierung:
Grafikpipeline ? Wikipedia
29.10.2008 10:06
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
meekee7 Offline
Multimediameistermann

Beiträge: 761
Registriert seit: Jul 2008
Beitrag #3
Wo wird ein Spiel gerendert?
Aha.

Ja, Intel will das Raytracing voran treiben. Dies arbeitet ganz anders als die Rasterisierung, da werden nämlich sozusagen Lichtstrahlen verfolgt. Wird bei den ganzen Offline-Sachen gemacht, wie Animationsfilme oder im Cinebench (OpenGL-Test ausgenommen :fresse:). Auch dafür gibt es einen Verusch eines speziellen Chips, aber meist wird dies von der CPU durchgeführt (allerdings gibt es in Maya auch einen GPU-Raytracer und die Intel-Larrabee-GPU kann das auch prima da sie aus vielen vielen kleinen Pentium 1 besteht).

Also gibt es wohl keinen echten softwareseitgen Punkt wo im Spiel die Rasterisierung durchgeführt wird, wir wohl alles direkt hardwareseitig gemacht.

http://www.youtube.com/watch?v=GTYs3TRHXB4 Meine Demoreel. ANGUCKEN!!!
29.10.2008 12:15
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Dirk Offline
Software Archäologe

Beiträge: 14.758
Registriert seit: Jul 2008
Beitrag #4
Wo wird ein Spiel gerendert?
am ende muss es immer irgendeine hardware geben. aber die grafikchipentwickler haben ganze rechnerfarmen, die einen gpu chip per software nachbilden, wo man dann drauf spielen kann. allerdings in sehr geringen frameraten.
29.10.2008 17:12
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Oldie-schrauber Offline
Der mit der FX 5800 Ultra

Beiträge: 4.339
Registriert seit: Jul 2008
Beitrag #5
Wo wird ein Spiel gerendert?
Muss jetz nochas loswerden, weiss ned obs hier reinpast aber.....

Mein Dad hatfür einen Kunden ein neue Toshiba Laptop mt Dockingsttion Besorgt, die wird per USB ans Notebook angeschlossen, nun hat die Station auchn Monitorausgang, das Bild ist verblüffend gut über USB, jetz meine Frage, warum zum Teufel sind die Monitoren ned alle schon lange per USb an den Pc angeschlossen, oder eignet sich das eher nur für Desktop Arbeit???

IBM Thinkpads: 340CSE, 360PE, 240, 701CS, 380XD, 760XD, 600X, R30, T23,T30, X30, 2x X40, X60s, T41, T43p, R50e, R52, R61, T500, X200s, X201, X220.
29.10.2008 18:36
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
YAL Offline
teplotaxi

Beiträge: 2.493
Registriert seit: Jul 2008
Beitrag #6
Wo wird ein Spiel gerendert?
Dirk schrieb:  am ende muss es immer irgendeine hardware geben. aber die grafikchipentwickler haben ganze rechnerfarmen, die einen gpu chip per software nachbilden, wo man dann drauf spielen kann. allerdings in sehr geringen frameraten.
Ich würd dafür eher FPGAs nehmen ;)
@oldie: vergleich mal die Datenraten von PCIe / DVI mit denen von USB - Merksch was?
29.10.2008 18:44
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
meekee7 Offline
Multimediameistermann

Beiträge: 761
Registriert seit: Jul 2008
Beitrag #7
Wo wird ein Spiel gerendert?
rechnen wir den jux mal aus spaß durch.

ein film auf dvd hat 25fps, bei full hd auflösung von 1920*1080
eine unkomprimierte bmp datei dieser größe hat 6 221 824 Bytes, lasst uns mit 5,93MB rechnen.

5,93 * 25 = 148,25

148,25MB/s sind schon recht viel, aber das schafft sogar USB 2.0.

Kommen wir jedoch auf 60fps oder mehr, in manchen Spielen sogar 120fps so erhalten wir 711,6MB/s, da reicht USB 2.0 nicht mehr aus...

Hab sogar schon was mit 200fps gespielt, das ist rund ein Gigabyte pro Sekunde

USB 2.0 hat außerdem nur 4 Leitungen, davon sind nur 2 Datenleitungen, eine rein, eine raus. Da der gemeine Monitor fast nie Daten schickt sondern lediglich empfängt (man kann aber am Rechner Monitorinformationen abrufen) bedürfen wir der Rückleitung kaum, diese kann ganz schwach sein. Die 711,6MB/s wären außerdem Digital, in analog sähe das ganze nochmals anders aus, da bräuchten wir nämlich für halbwegs brauchbare Bildqualität 3 Leitungen (RGB). Mach das mal mit USB...

Außerdem werden über den VGA-Port 37 Volt Strom mitgegeben, das ist mit USB doch schwieriger...


Alle Angaben wohlgemerkt mit Megabyte, nicht Megabit...

http://www.youtube.com/watch?v=GTYs3TRHXB4 Meine Demoreel. ANGUCKEN!!!
(Dieser Beitrag wurde zuletzt bearbeitet: 29.10.2008 19:03 von meekee7.)
29.10.2008 19:00
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Oldie-schrauber Offline
Der mit der FX 5800 Ultra

Beiträge: 4.339
Registriert seit: Jul 2008
Beitrag #8
Wo wird ein Spiel gerendert?
Ok danke für die Aufklährng ;) =)

IBM Thinkpads: 340CSE, 360PE, 240, 701CS, 380XD, 760XD, 600X, R30, T23,T30, X30, 2x X40, X60s, T41, T43p, R50e, R52, R61, T500, X200s, X201, X220.
29.10.2008 19:06
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Dirk Offline
Software Archäologe

Beiträge: 14.758
Registriert seit: Jul 2008
Beitrag #9
Wo wird ein Spiel gerendert?
achtung usb arbeitet auch per polling. nen usb anschluss kann also nicht kontinuierlich daten senden. außerdem scheint es so zu sein, das das usb device so eine art virtuelle grafikkarte einrichtet und die glaub ich nicht ohne irgendwas echtes auskommt.

mein samsung bilderrahmen kann auch per usb als bildschirm angeschlossen werden. ist aber auch eher fummelig. und die anleitung warnt ausdrücklich davor das als primären bildschirm auszuwählen.
29.10.2008 19:45
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
YAL Offline
teplotaxi

Beiträge: 2.493
Registriert seit: Jul 2008
Beitrag #10
Wo wird ein Spiel gerendert?
Zitat: USB 2.0 hat außerdem nur 4 Leitungen, davon sind nur 2 Datenleitungen, eine rein, eine raus.
Ich Bedauere: FAIL
Das ist bei usb3.0 so, bei usb 2.0 gibts +5V Daten+, Daten-, Masse
Daten+ und - sind für die symmetrische (störsichere) Übertragung notwendig -> eigentlich nur 1 leitung
29.10.2008 20:03
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste