Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Spieleprogrammierung: DirectX mit Delphi? (https://www.delphipraxis.net/43543-spieleprogrammierung-directx-mit-delphi.html)

Gamer 5. Apr 2005 16:18


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?

3_of_8 5. Apr 2005 16:20

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.

-NIP- 5. Apr 2005 17:43

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-

TheAn00bis 5. Apr 2005 17:47

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Zitat:

Zitat von Gamer
Oder weiß vielleicht jemand wie man DirectX mit Delphi kombiniert?

Das weiß sicherlich der ein oder andere, allerdings ist das sicherlich nicht mal eben so zu erklären. ;)

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: http://www.delphipraxis.net/internal...ghlight=opengl

@ Nils: der Smilie wirkt in der Situation ganz schön überheblich, wobei deine Aussage totaler Unsinn war, um nicht von Spam zu reden :)

Nils_13 5. Apr 2005 18:03

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Zitat:

Das weiß sicherlich der ein oder andere, allerdings ist das sicherlich nicht mal eben so zu erklären. ;)

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!
:roll: es gibt nicht viel zu OpenGL, außerdem arbeite ich mit DirectX und ich kanns nur empfehlen.

Phoenix 5. Apr 2005 18:10

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. X-Force - Fight for Destiny von unserem Member Christian (wie war nochmal sein Nickname??) entwickelt.

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 -)

DGL-luke 5. Apr 2005 18:36

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Zitat:

Zitat von Nils_13
:roll: es gibt nicht viel zu OpenGL, außerdem arbeite ich mit DirectX und ich kanns nur empfehlen.

ENTSCHULDIGUNG, herr lobbyist!

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!

http://www.delphigl.com <- musst du hin!

*werbung ende ;)*

mr47 5. Apr 2005 19:01

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Hört doch auf mit dem DirectX vs. OpenGl :roll:

Zu DirectX kann ich nur immer wieder das gute alte Buch http://www.amazon.de/exec/obidos/ASIN/3833408359/delphipraxis-21 empfehlen :wink:

mfg


edit1: isbn-tag :wink:
edit2: So alt ist es noch garnicht :wink:

Phobeus 5. Apr 2005 19:26

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... ;)

Sebastian Nintemann 5. Apr 2005 20:01

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Zitat:

Zitat von Phoenix
sozusagen die Delphi-Schnittstelle von DirectX

Nö. DelphiX kapselt lediglich einige alte DirectDraw-Funktionen zum 2D-Zeichnen (wozu es durchaus zu gebrauchen ist, wenn man sich nicht gleich mit der DirectX API beschäftigen will) - die komplette Schnittstelle DirectX-Delphi ist es nicht.
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 hier einen Wikipedia Artikel (written in english).

Auch das es keine Seiten zum Thema Delphi und DirectX gibt kann ich nicht bestätigen, schau doch zum Beispiel mal bei www.delphidev.de vorbei. Auch bei Martin Pyka (dem Autor von oben genanntem Buch, ich glaube er ist auch in der DP angemeldet) gibts einiges zum Thema. Ansonsten bei einschlägigen Seiten schauen wie ZFX.info, GameDev.net etc. Da wird dann zwar viel mit C++ gearbeitet, aber auch Delphi Fragen sind mal dazwischen (außerdem sind die API Aufrufe ja die gleichen).
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: Bei Google suchenUnDelphiX.

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

JasonDX 5. Apr 2005 20:11

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.

gordon freeman 5. Apr 2005 20:22

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Bei uns in der Code-Library gibt es 'ne Linksammlung zum Thema DirectX, DelphiX, OpenGl, etc...
Linksammlung

@Nils es gibt jede Menge zu OpenGl, guck mal in den Link!

LarsMiddendorf 5. Apr 2005 20:29

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 www.3d-seite.de/csopengl mal ansehen. Auch hier nur eine .cs Datei. Es geht also auch elegant unter .Net und das ist wichtig.

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.

DGL-luke 5. Apr 2005 20:45

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)

LarsMiddendorf 5. Apr 2005 20:50

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Zitat:

microsoft wird ab longhorn opengl nicht mehr unterstützen. opengl-befehle werden dann von directx interpretiert und als directx-befehle an die gpu geschickt.
Das stimmt so nicht. Es gibt endlich einen vernünftigen Standard OpenGL Treiber von MS mit der Version 1.5, der natürlich intern über Direct3D rendert. Momentan gibt's da ja nur Software Rendering vom MS OpenGL Treiber. Wenn man einen OpenGL-fähige Grafikkarte hat, benutzen OpenGL Anwendungen natürlich den Treiber der Grafikkarte und alles bleibt wie bisher.

Gamer 5. Apr 2005 20:54

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?

DGL-luke 5. Apr 2005 21:03

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.

Pr0g 5. Apr 2005 21:13

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Zitat:

Zitat von Sebastian Nintemann
Auch bei Martin Pyka (dem Autor von oben genanntem Buch, ich glaube er ist auch in der DP angemeldet) gibts einiges zum Thema.

Ja, ist er: Marty01.

MfG Pr0g

Gamer 5. Apr 2005 21:41

Re: Spieleprogrammierung: DirectX mit Delphi?
 
kann mir vielleicht jemand einen Tipp geben, vielleicht einen Quellcode?

Phobeus 5. Apr 2005 23:12

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.

mimi 7. Apr 2005 12:32

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:

Gamer 7. Apr 2005 17:24

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.

Khabarakh 7. Apr 2005 17:44

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Zitat:

Zitat von Gamer
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.

Noch ungenauer geht es nicht mehr?

Gamer 7. Apr 2005 17:49

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.

JasonDX 7. Apr 2005 18:23

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!

Chegga 7. Apr 2005 18:39

Re: Spieleprogrammierung: DirectX mit Delphi?
 
Hi,

@Gamer: *Klick*
Suchen hätte es mal wieder getan! :roll:
(Das bezieht sich auf den ganzen Thread!)
Dann noch das: Hier im Forum suchenDelphiX

MfG Marc

P.S.: Da soll es tatsächlich noch Leute geben,
die sich mit dem Wort "Suchen" nicht indentifizieren können. :shock: :wall:

mimi 7. Apr 2005 18:59

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 20:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz