Naja, so ganz einfach lässt sich das nicht vergleichen. Canvas kann z.B. nur zweidimensional zeichen,
OpenGL dreidimensional. Das ist schon mal ein riesiger Unterschied wudurch die Komplexität enorm steigt.
Also im allgemeinen ist es bei Spielen (die die Hardwarebeschleunigung der Grafikkarte benutzen) so, dass du auch - wie bei deinem Rechteck - Koordinaten an die Grafikkarte sendest. Die Grafikkarte verarbeitet dann die einzelnen Punkte, indem sie die Farbwerte setzt, Texturen draufklebt, Tiefenwerte berechnet usw.
Zitat von
Jeff93:
wenn ich zum Beispiele ein Quadrat auf meiner Form ausgeben will, benutze ich Canvas. Nun frage mich, wie es Spiele dies meistern? Als konkret, wenn in einem Spiel ein Charakter abgebildet wird der sich bewegt, ist dies die gleiche "Vorgehensweise" wie wenn ich Bilder mit Canvas zeichne?
Das kann man nicht so einfach beantworten. Komplexe Objekte bestehen aus vielen Dreiecken mit unterschiedlichen Texturen bzw. Texturabschnitten. Alle Dreiecke zusammen ergeben dann das Objekt. Es gibt aber natürlich auch andere Möglichkeiten - z.B. ein einfaches Bild. Jedoch hat ein Bild keine Tiefenwerte (jedenfalls das Haus-und-Hof-Jpeg, Png, Bitmap ... nicht). Somit hast du dann kein dreidimensionales Objekt sondern einfach nur ein Bild - wie bei Canvas auch.
Zitat von
Jeff93:
Ist
OpenGl das Gleiche als Canvas nur im grossen?
Ein klares Jein.
* Ja weil man damit "Bilder" auf dem Bildschirm ausgeben kann und man manche Sachen in
OpenGL fast genauso machst wie mit Canvas [bzw. kaum Umdenkarbeit nötig ist] (es gibt bestimmt noch ein paar mehr, jedoch fällt mir gerade kein Grund mehr ein)
* nein: ganz viele Gründe: die Möglichkeiten sind mit
OpenGL extrem viel größer als mit der
GDI,
OpenGL ist viel komplexer,
OpenGL ist hardwarebeschleunigt -> extrem schnell, in
OpenGL machst du viel mit Matrizen rum, das wirst du in der
GDI nirgends finden, in
OpenGL gibt es keine "Komfortmethoden" wie z.B. "Ellipse()", ....