![]() |
directX?!?
Hallo,
kann mir jemand erklären was directX macht und wie es funktioniert? Warum brauchen viele Spiele DirectX - braucht man das Programm um 3D-Grafiken darzustellen? heiopei |
jo damit macht man halt spiele 8) wie man das benutzt kann man nicht mal so eben erklären. es gibt 1000ende bücher, die sich mit directx befassen. kannst ja auch mal nach n paar tutorials gucken.
|
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 ![]() |
wenn man mit delphi directx programmieren möchte, nimmt man am besten die jedi-headers
![]() für die gibt es glaub ich auch schon einen thread im forum. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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