Thema: Delphi directX?!?

Einzelnen Beitrag anzeigen

tommie-lie
(Gast)

n/a Beiträge
 
#3
  Alt 22. Mai 2003, 18:19
DirectX ist eine Spieleumgebung, die sich um Netzwerkspiele, Grafikdarstellung, Eingabegeräte (Joystick, Gamepad, usw), Sound usw kümmert.
Der Teil, der die 3D-Grafiken anzeigt, heißt Direct3D. Er ermöglicht einen hardwarebeschleunigten (also der Grafikchip rechnet wirklich, nicht die CPU) Zugriff auf die Grafikkarte und ist somit schneller als zum Beispiel selbstgerechnete Grafiken, die in einer 2D-Umgebung gezeichnet werden (ist ja ohne weiteres möglich, macht die GraKa ja auch, nur ist es für den Programmierer dreidimensional). Die meisten (nicht alle) Spiele brauchen es, weil Grafik über die Windows-Funktionen (also den Canvas) zu langsam wäre, weil dieser nicht hardwarebeschleunigt ist, das Depth-Sorting, Größenadaption bei größerer Entfernung vom Betrachter, Lichtberechnungen etc. übernimmt also die CPU und man muss es selbst implementieren. Da das ein relativ großer Aufwand wäre, und man ja nicht jedesmal das Rad neu erfinden will, gibt es einige Grafikschnittstellen, die diese Berechnungen bereits in Funktionen gekapselt haben und zusätzlich den Code auf der Grafikkarte berechnen lassen. Man braucht DirectX (oder besser Direct3D) also nicht unbedingt, um dreidimensionale Grafiken darzustellen. Die andere bekannte, und überdies plattformübergreifende Grafikumgebung ist OpenGL. Eine dritte, über die ich nicht sehr viel weiß, ist SDL, der Simple Directmedia Layer, der ebenfalls plattformübergreifend ist.
Tutorials gibt es tatsächlich viele, sowohl für OpenGL, als auch für Direct3D, musst nur mal googlen.
Dann gibt es noch die Kapselungen der beien Grafikumgebungen, weil beide in der nativen API immer noch recht aufwändig sind. Die mit abstand leistungsfähigste für OpenGL ist GLScene, für DirectX ist die beliebteste DelphiX (Link hab' ich nicht), die wird aber seit einiger Zeit nicht mehr weiterentwickelt und ist bei DirectX 7 stecken geblieben. Was im DirectX-Bereich an Komponenten gerade so aktuell und auch leistungsfähig ist, weiß ich leider auch nicht.
  Mit Zitat antworten Zitat