file-pollux schrieb:
Hi.
Mich würde mal interessieren, wie der Code von Spielen auf den Monitor kommt. Sprich: Was passiert eigentlich? Was macht CPU, was GPU? Was hat die API damit zu schaffen? Wäre cool wenn hier eine Diskussion zu Stande käme, oder ein paar links gepostet würden...
Keine Ahnung ob das hier rein passt, aber es schien mir am treffendsten.
Gruß,
pollux
Also die CPU übernimmt die Aufgabe der Berechnung der Vektorpunkte, das bedeutet fast jedes Objekt das später in 3D dargestellt wird besteht aus vielen Dreiecken. Die CPU erstellt das Drahtgittermodell (3D Vektor) und diese Daten werden an die GPU weitergeleitet. Die macht dann den Rest, d.H. Texturen (Grafiken der Oberflächen, wie z.B. Wände etc.) werden auf die Dreiecke gelegt. Je nachdem wie leistungsfähig die Grafikkarte ist, können noch Effekte hinzugefügt werden, die die CPU nicht belasten.
Die CPU muss aber auch die KI (Künstliche Intelligenz) der Charaktere im Spiel (bei Ego Shootern meist die bösen Jungs/Aliens die du abballern musst) berechnen.
Jede einzelne Szene wird in der Grafikkarte berechnet (bzw. gerenderd) und wird dann auf dem Monitor ausgegeben (das kann man bestimmt noch besser erklären ...).
Die API ist dafür da das ein Spieleprogrammierer nicht seinen Code für jede Grafikkarte anpassen muss. In der API sind standardisierte Befehle vorhanden, die an die Grafikkarte weitegeleitet werden. Diese muss dann der Grafikkartentreibern in die für die Grafikkarte verstehbaren Codes umwandeln. Wenn eine Grafikkarte z.B. DX9 fähig sein will, muss sie alle Befehle in der DX9 API verstehen können.
So hab ich das jetzt mal aus dem Stegreif versucht zu erklären. Auf Richtigkeit gibt es keine Garantie