![]() |
Spieleprogrammierung: DirectX mit Delphi?
Also ich hab schon so einige Spiele versucht über Delphi zu schreiben, hab aber das Problem dass ich nur weiß wie das über Software-Renderring geht. Trotzdem zweifel ich ein wenig, dass bei einem 3.0GHz Prozessor das ganze nicht flüssig läuft. Gibt es da vielleicht eine Möglichkeit die Grafikkarte die Arbeit zu überlassen? Oder weiß vielleicht jemand wie man DirectX mit Delphi kombiniert?
|
Re: Spieleprogrammierung: DirectX mit Delphi?
Ich glaube da gibt es was namens DelphiX.
EDIT: OpenGL ist auch super, wenn man die Grundrisse verstanden hat, ist es gar nicht so schwer. Sogar ich habs gecheckt. |
Re: Spieleprogrammierung: DirectX mit Delphi?
Wenn du 3d Spiele programmieren willst, kommst du um DirectX oder OpenGL nicht herum (es sei denn du entwickelst eine eigene Grafikengine :lol: ). Für 2d-Spiele bietet sich auch DelphiX an. Das ist zwar schon etwas älter, aber trotzdem gut zu gebrauchen. DelphiX ist glaube ich an DirectX angelehnt. Also von OpenGL und DirectX weiß ih sicher, dass sie mit der GPU arbeiten.
-NIP- |
Re: Spieleprogrammierung: DirectX mit Delphi?
Zitat:
Warum DirectX? Nehm OpenGl, dazu gibts wirklich viel im Internet und das lässt sich auch ziemlich schnellt ziemlich leicht umsetzen! Such einfach mal bei Google und hier im Forum! Edit: gerade zufällig entdeckt: ![]() @ Nils: der Smilie wirkt in der Situation ganz schön überheblich, wobei deine Aussage totaler Unsinn war, um nicht von Spam zu reden :) |
Re: Spieleprogrammierung: DirectX mit Delphi?
Zitat:
|
Re: Spieleprogrammierung: DirectX mit Delphi?
Aaaalso. DelphiX ist eine Kapselung von DirectX. Will heissen das ist nichts eigenständiges sondern sozusagen die Delphi-Schnittstelle von DirectX. Alternativ kann man die ganzen Headerfiles für die C++ - Programmierung von DirectX auch selber nach Delphi übersetzen, aber das ist unnötiger Aufwand.
Mit DelphiX wurde z.B. ![]() Du siehst also: Es geht sehr gut mit DirectX. Und da X-Force auch gleich noch Open-Source ist, kannst Du Dir da in den Sourcen auch so das eine oder andere abgucken -) |
Re: Spieleprogrammierung: DirectX mit Delphi?
Zitat:
es gibt ein komplettes forum dazu!! inklusive toller community, eigener header und templates, und guten tutorials! und dass die seite von einem ehemaligen directX-freak gegründet wurde, spricht für sich! ![]() *werbung ende ;)* |
Re: Spieleprogrammierung: DirectX mit Delphi?
|
Re: Spieleprogrammierung: DirectX mit Delphi?
@mr47: Ahhh ja... ;)
@nils: Noch jemand der kein Google kennt? ;) @geschwindigkeit: Generell sind mit Delphi genauso professionelle Titel möglich wie in anderen Sprachen, sofern die Person davor etwas taugt. Zwar nicht mehr ganz zeitgemäß, allerdings damals ein leuchtenes Beispiel. Jan Horn iniitierte ein Projekt den Quake2 Source Code nach Delphi zu portieren. Das Ergebnis spricht für sich. (ask google: "Quake2 delphi", verzichte auf Grund der Indizierung zu verlinken). @fragesteller: generell benötigst Du sogenannte Header um die darunter liegende API anzusteuern. Sowohl für OpenGL als auch Direct3D gibt es zahlreiche deutsche Seiten, die sich damit beschäftigen und auch schnell einen Link auf diese Header offenbaren. Generell ist die Frage OpenGL vs DirectX leicht zu beantworten: Programmierst Du rein objektorientiert => DX, programmierst Du lieber ""strukturiert"" (sollte man hoffen, aber ich meine natürlich die Programmiertechnik) & Plattformunabhängig, solltest Du zu OpenGL greifen. Fehlende Funktionalität gegenüber von DirectX würde man mit SDL ausgleichen. Generell würde ich in jedem Fall GEGEN DelphiX raten. Es wird nicht mehr weiterentwickelt, basiert auf DX7 und wird gerade bei der Verwendung von Blending Effekten (die auch in 2D auftreten können) nicht überzeugen. Daher empfehle ich bei einem neuerlernen direkt auf den Header der APIs aufzubauen. Zwar wird das Erfolgserlebnis ein wenig länger auf sich warten lassen, Du wirst allerdings auch die Orginaldokumentationen der API verwenden können. Solltest Du irgendwann dein Wissen auch im professionellen Bereich (z.B. auch eine andere Sprache) wirst Du auch mit einer direkten Header-Programmierung eher überzeugen können. Ich will DelphiX nicht schlecht machen, immerhin habe ich vor 4-5 Jahren selbst damit angefangen und ärgerte mich bereits damals nach einem umstieg auf WDirectX sehr darüber. Auch letztes ist nicht gegenüber den Headern zu empfehlen. So far... als kleines Intro in einem wirklich spannenden Bereich der Programmierung ;) Und zu dem Rat von Phoenix auch noch einen kleinen, wirklich gut gemeinten Rat: schaue eben nichts von anderen Projekten ab. Das Ergebnis wird ein Copy&Paste verschiedener Beispiele werden, dass prima funktionieren wird, allerdings ein intensiveres Beschäftigen mit den Grundlagen meist verhindert. Das Ergebnis sind dann Leute, die sich mit neueren Techniken befassen, allerdings auf Grund eines soliden Fundamentes stets scheitern werden. Einsteigende Lektüre ansehen und dann versuchen selbstständig die Grundlagen aufzubauen. Wenn man dann eine Idee bereits selbst im Kopf konzipiert hat, kann man notfalls auch zu anderen Source greifen und zumindest eine realistische Chance dessen Qualität einzustufen. Ist wirklich nur ein gute gemeinter Rat... ;) |
Re: Spieleprogrammierung: DirectX mit Delphi?
Zitat:
Die DirectX Header sind aber auch für Delphi übersetzt (sogar mehrfach), man kann also sehr wohl die komplette DirectX-API mit Delphi nutzen (siehe oben erwähntes Buch). Zum Thema DirectX vs OpenGl: Irgendwie lese ich grundsätzlich wenn jemand nach DirectX fragt soetwas wie "Nimm OpenGl, das ist viel besser, schneller und einfacher". Letztendlich ist es doch egal welche Schnittstelle benutzt wird, es werden beide weiterentwickelt und an die Leistungsgrenzen stößt man als Hobbyprogrammierer ohnehin nicht. Ich persönlich bevorzuge Direct3D, aber ich würde OpenGL nicht als bedeutend schlechter einstufen. Zu dem Thema gibt's auch ![]() Auch das es keine Seiten zum Thema Delphi und DirectX gibt kann ich nicht bestätigen, schau doch zum Beispiel mal bei ![]() ![]() Dann möchte ich noch das Stichwort UnDelphiX in die Runde werfen (:mrgreen:), davon habe ich selbst keine Ahnung, habe aber gehört, dass es eine modernere Kapselung (moderner als DelphiX) ist, da könnte man ja auch mal nach googlen: ![]() Außerdem: Aus meiner Sicht ist Managed DirectX eine sehr interessante Alternative. Das ist die DirectX API für .NET, komplett objektorientiert in .NET-Manier und wunderbar schön zu programmieren. Der Geschwindigkeitsnachteil gegenüber nativem Code ist vernachlässigbar (es gibt sogar Dinge, die schneller sind im Managed Code), der Geschwindigkeits-, Struktur- und Spaßvorteil beim Programmieren dagegen nicht (alles meine Meinung ;) ). Viele Grüße, Sebastian |
Re: Spieleprogrammierung: DirectX mit Delphi?
Ich arbeite mit DirectX (zwar in C++, aber vor kurzem auch in Delphi), und hab kurz mal mit OpenGL gearbeitet.
Im allgemeinen passt mir DX besser, aber es is geschmacksache. Falls du Interesse hast, auch mal auf .NET umsteigen, würde ich dir DirectX empfehlen. Für DirectX gibts da die ".NET-Version" Managed Direct X. Wie es mit OpenGL in Kombination mit .NET aussieht weiß ich nicht, ist aber sicher auch ein Punkt, den du dir bei der Entscheidung überlegen solltest. Und um nun noch einen kleinen Komment bezüglich DX vs. OGL in Form eines Zitates abzugeben: Stefan Zerbst hat in einem Buch über Spieleprogrammierung geschrieben: Wer ist besser, wer ist schnell, wer ist höher und wer ist weiter - DirectX oder OpenGL? Geführt werden solche Diskussionen meistens auf der Basis von Unwissenheit und Argumenten, die man vom Bruder des Cousins der Schwester des Typen gehört hat, dessen Bruder mit dem Auto seines Großvaters neulich die Katze des Nachbarn üüberfahren hat. Trifft IMHO die Beschreibung der Flame-Wars am besten... Mein Tipp: guck dir ein paar OGL- und ein paar DelphiX-Projekte an und entscheide selbst, was dich mehr anspricht. |
Re: Spieleprogrammierung: DirectX mit Delphi?
Bei uns in der Code-Library gibt es 'ne Linksammlung zum Thema DirectX, DelphiX, OpenGl, etc...
![]() @Nils es gibt jede Menge zu OpenGl, guck mal in den Link! |
Re: Spieleprogrammierung: DirectX mit Delphi?
Zu .Net und OpenGL:
Es gibt demnächst auch eine .Net Version des DGL Headers und zwar im Gegensatz zu Tao,CSGL usw.. ohne externe DLL's. Wer C# und OpenGL einsetzen möchte, sollte sich ![]() Bei den ganz normalen Sachen unterscheiden sich OpenGL und Direct3D nicht viel: Shader,Vertex Buffer,Texturen usw.. Das heißt alles nur anders. Direct3D hat wesentlich mehr Zusatz und Mathefunktionen gleich dabei, während sich OpenGL eigentlich aufs Zeichnen beschränkt. Allerdings ist es natürlich manchmal sinnvoll seine eigenen Vector oder Mesh Klasse zu machen, weil man da viel mehr anpassen kann. Die Direct3D Funktionsaufrufe sind aufgrund des anderen Treibermodels viel teurer als bei OpenGL, aber das soll in der nächsten Version angepaßt werden. Die eigentliche Stärke von OpenGL liegt bei den Extensions, über die man neue Hardware Funktionen einfach per Treiberupdate verwenden kann, während man bei DirectX auf eine neue Version warten muß. Man hat also heutzutage die freie Auswahl und es spricht auch nichts dagegen OpenGL mit z.B. DirectSound/DirectInput zu kombinieren. |
Re: Spieleprogrammierung: DirectX mit Delphi?
um etwas in die runde zu werfen, dass die diskussion sinnlos macht:
microsoft wird ab longhorn opengl nicht mehr unterstützen. opengl-befehle werden dann von directx interpretiert und als directx-befehle an die gpu geschickt. (wie das genau abläuft, weiss ich nicht - schließlich hat da normalerweise doch der grafikkartentreiber noch n wörtchen mitzureden) |
Re: Spieleprogrammierung: DirectX mit Delphi?
Zitat:
|
Re: Spieleprogrammierung: DirectX mit Delphi?
Sagen wir mal ich hätte vor eine eigene Engine zu schreiben. Als erstes natürlich eine 2D-Engine. Wie fange ich damit an. Was muss ich beachten?
|
Re: Spieleprogrammierung: DirectX mit Delphi?
wenns um grafik geht, ist sie ja gleich versammelt, die ganze truppe. :mrgreen:
danke für die aufklärung. EDIT: ganz, ganz viel. erst mal ist zu empfehlen, sich von der vcl zu verabschieden. da sie performance frisst. dann musst du irgendwie mit der graka kommunizieren -> entweder du greifst auf ogl oder dx zurück, oder du musst einen eigenen weg finden. und noch vieles mehr. |
Re: Spieleprogrammierung: DirectX mit Delphi?
Zitat:
MfG Pr0g |
Re: Spieleprogrammierung: DirectX mit Delphi?
kann mir vielleicht jemand einen Tipp geben, vielleicht einen Quellcode?
|
Re: Spieleprogrammierung: DirectX mit Delphi?
@vcl: Nö... die ist eigentlich auch recht okay ;)
@gamer: Ich denke, wenn Du nun noch nicht genügend Ressourcen Seiten zu den beiden zweifelsfrei besten APIs hast, wird man Dir auch nicht mehr weiterhelfen können. Nahezu alles was Rang und Namen hat sind in diesen Thread bzw. in der Linksammlung von DP vertreten. Bleibt Dir nur noch Dich vom Begriff "Engine" zu trennen, der sowieso schon dermassen mystifiziert ist, dass man ihn nicht mehr hören kann. Chimaira hat einen verdammt guten Rat gegeben: Schau Dir beides erst einmal an und schau dann weiter. |
Re: Spieleprogrammierung: DirectX mit Delphi?
Liste der Anhänge anzeigen (Anzahl: 1)
ich nutze um 2D spiele zu entwicklen PowerDraw(neuer dings) früher hatte ich auch delphiX(d 7 wird niht mehr weiter entwickelt, warum eigetnlich nicht ?) bzw. unDelphix(bassieren auf DX 8 und wird auch weiter entwickelt glaube ich)
ich hatte auch mal GLXTreem das ist delphiX für openGl fast gleich sind sie aufgebaut, von allen libs für 2D spiele finde ich immer noch PowerDraw am besten auch wenn ich da noch nicht alles kenne und es wengi deutsches seiten über powerDraw gibt, kann ich damit gut arbeiten.. im anhang ist ein kleines beispiel: |
Re: Spieleprogrammierung: DirectX mit Delphi?
Ich hab mich jetzt mal DelphiX für Delphi6 gedownloaded. Wie installier ich das jetzt? Ich hab das schon versucht, aber da kommt so eine Fehlermeldung, irgendwas wurde nicht gefunden.
|
Re: Spieleprogrammierung: DirectX mit Delphi?
Zitat:
|
Re: Spieleprogrammierung: DirectX mit Delphi?
Code:
Klasse TDXInput nicht gefunden. Fehler ignorieren und fortfahren? WARNUNG: Ignorieren kann bedeuten, dass Komponenten gelöscht werden oder Eigenschaftswerte verloren gehen.
|
Re: Spieleprogrammierung: DirectX mit Delphi?
Kann es sein, dass du nur die Units ausgewählt hast aber nicht das Package? Wenn mich nicht alles täuscht, tritt in dem Fall auch dieser (oder ein ähnlicher?) Fehler auf!
|
Re: Spieleprogrammierung: DirectX mit Delphi?
|
Re: Spieleprogrammierung: DirectX mit Delphi?
das problem ist beim suchen immer das richtige schlagwort einzugeben bei google geht das ja noch wenn du da ein wort falsch schreibst schlägt der dir ja ein andres vor *G*
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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