![]() |
Grafische Schnittstellen / Canvas
Hallo,
ich habe eine Frage zur Grafikprogrammierung, 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? Canvas tut ja nichts anderes als die Befehle z. Bsp ein Rechteck oder der gleichen in Pixel zu übersetzen und auf dem Desktop auszugeben, oder? Ist OpenGl das Gleiche als Canvas nur im grossen? Würde gerne verstehen wie das funktioniert! Freue mich auf eure Antworten! Mfg, Jeff93 |
Re: Grafische Schnittstellen / Canvas
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:
Zitat:
* 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()", .... |
Re: Grafische Schnittstellen / Canvas
Danke für deine Erklärung :thumb:
Das heisst das sowohl bei Canvas und bei OpenGl Befehle an die Grafikkarte gesendet werden, nur eben bei OpenGl dreidimensional? Unter welchem Stichwort finde ich etwas wie man den Grafikkarten Befehle zusendet(Ganz generell, muss nicht in Delphi sein, mich interessiert nur das Prinzip) |
Re: Grafische Schnittstellen / Canvas
Zitat:
Zitat:
Erstens kommuniziert Dein Programm eh nur mit Windows / einem Treiber. Zweitens sind die 3D-Schnittstellen OpenGL und DirectX standardisiert und sollten benutzt werden. Wofür Du Dich entscheidest ist zuerstmal egal. OpenGL ist nahezu plattformunabhängig, DirectX ist auf jedem modernen Windows Rechner vorhanden. Entscheide Dich für eins. |
Re: Grafische Schnittstellen / Canvas
Danke für deinen Post!
Zitat:
Danke für eure Antworten, mfg Jeff93 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz