![]() |
[un]Delphix vs. OpenGL?
Hallo.
Es wird immer viel darüber diskutiert was nun besser ist. [un]Delphix oder eben OpenGL. Habe mich bereits durch mehrere Threads und Wikipedia gewälzt, aber dennoch bin ich nicht wirklich zu einem Ergebnis gekommen. Bisher hatte ich immer so den Eindruck, alle die DirectX verwenden sind dafür und alle die OpenGL verwenden dafür. Gibts nicht vielleicht auch Jemanden, der in beides reingeschaut hat und direkt mal was dazu sagen kann? Ich habe mich bisher noch nie so wirklich viel mit den ganzen Sachen beschäftigt, wollte mich aber nun mal an ein Spiel wagen. Von der Grafik her hatte ich sowas wie eben ![]() Wichtig für mich ist eben auch, gerade nun so am Anfang, dass es eben viele Tutorials [Bücher?] gibt und auch aktuelle Seiten / Communities. Des Weiteren wollte ich auch nochmal fragen was es sich genau mit OpenGL und Vista aufsich hat und ob man da dann irgendwas müsste beachten? LG |
Re: [un]Delphix vs. OpenGL?
Geschichte Kurzfassung:
![]() ![]() Der Leistungsumfang im Bereich 2D / 3D - Graphik ist fasst gleich. OpenGl ist eigentlich was für faule, man muss weniger Tippen. DirectX ist umfangreicher da Sounds etc. "mit dabei ist". Bei OpenGl muss man sich etwas basten. OpenGL wird unter Vista Unterstützt, da Vista aber auf DirectX aufbaut müssen die OpenGL - Bilder über einen ![]() werden (ausgenommen Vollbild). Das kostet Rechenleistung. |
Re: [un]Delphix vs. OpenGL?
hey, also was genau jetzt besser ist kann ich dir so auch nicht sagen, ich würd sagen das hängt davon ab in welche schnitstelle man sich eingefunden hat, und was genau man damit machen will! tutorials und infos gibt es zu beidem genug, das problem ist aber oftmals das diese in vielen unterschiedlichen sprachen sind, und nur wenige auf deutsch!
Zitat:
|
Re: [un]Delphix vs. OpenGL?
Also ich persönlich würd jetzt nicht sagen wollen, OpenGL ist besser als DirectX - nur ich hab DirectX noch nicht wirklich benutzt. Ich hab halt nur von einigen gehört, dass der Einstieg in OpenGL viel einfacher als der in DirectX sein soll (hab ich nur aus 2. Hand, daher weiß ich nicht, ob es stimmt).
Der gigantische Vorteil von OpenGl ist halt, dass du platformunabhängig bist. DirectX läuft nur auf Windows-System, OpenGL läuft auch unter Linux, Mac, manchen Handys (OpenGL ES). Vielleicht hilft dir auch das hier weiter: ![]() Gute Communities: ![]() ![]() ![]() ![]() Zitat:
Zitat:
Zitat:
Zitat:
Ich hab für ![]() Es ist nichts unmöglich, doch ich war nach dem ersten farbigen Viereck schon total froh es geschafft zu haben. |
Re: [un]Delphix vs. OpenGL?
Zitat:
OpenGL richtet(e) sich nicht an Spieleentwickler sondern an Grafiker. Zitat:
DX10 emuliert aber auch ältere DX-Versionen, früher waren die Versionen parallel implementiert. |
Re: [un]Delphix vs. OpenGL?
Zitat:
|
Re: [un]Delphix vs. OpenGL?
Ja, zum Teil.
|
Re: [un]Delphix vs. OpenGL?
empfehlen kann ich auf jeden fall auch noch diese seite für opengl:
![]() durch die seite habe ich meine ersten gehversuche in opengl gemacht ;-) |
Re: [un]Delphix vs. OpenGL?
Erstmal vielen Dank für die zahlreichen Antworten.
Nachdem ich nun der Meinung war, ich sollte es doch mal mit OpenGL probieren, wurde mir in einem dortigen Forum gesagt dass man eine isometrische engine auch ohne OpenGL [also auch ohne Direct X?] gut zu realisieren? Wie wäre das denn sonst noch möglich? Was ich aber noch anmerken muss, ist dass die DelphiGL Wiki, wirklich gut gelungen ist ^^. |
Re: [un]Delphix vs. OpenGL?
Es kommt natürlich sehr stark darauf an was du machen willst. Wenn es genau so wie die Sims werden soll, dann sind alle Personen/Objekte etc. nur simple Bilder evtl. mit Animationen. Diese könntest du auch mit TBitmap und Canvas darstellen. Wenn man dort 1 oder 2 Sachen beachtet ist das sicher auch noch halbwegs schnell. Allerdings mit Hardwarebeschleunigung ist es um ein vielfaches schneller und du hast solche Effekte wie Transparenten für Lau dabei.
Wenn deine Figuren aber echte 3D Objekte sind, dann kommt man um eine Hardwarebeschleunigung nicht umher. Bei Sacred 1 (Rollenspiel) ist es zum Beispiel so eine Mischung aus 2D und 3D. Die Ansicht ist ähnlich wie bei Sims. Die Welt besteht aus 2D Bildern aber die Gegenstände, Monster und Personen sind 3D Modelle die an die passende Stelle gerendert werden. Was derjenige aber dort meinte ist das demnächst irgendwann erscheinende OpenGL 3.0 (wenn es denn irgendwann mal fertig ist). Dort soll sich einiges ändern. Vor allem ist die Schnittstelle dann nicht mehr kompatibel. Also wenn man jetzt etwas für OpenGL 2.0 entwickelt, dann müsste man das später noch mal auf 3.0 portieren. Aber mit dem Erscheinen von OpenGL 3.0 wird 2.0 auch nicht sofort von der Bildfläche verschwunden sein auch wenn der ein oder andere Technikfan das gerne so darstellt. Meiner Meinung nach genügt es vollkommen, wenn man die Grafik passend vom Rest etwas kappselt. Dann kann man später die grafischen Dinge relativ einfach austauschen. Eine neuere Schnittstelle zu benutzen lohnt aber nur dann wirklich, wenn die andere veraltet sind oder man etwas aus der neueren braucht. Bei DirectX ist es zum Beispiel so, dass jede neue Version zur Früheren nicht mehr kompatibel war. Also um in einem DirectX 9 Feature in einem DirectX 8 Spiel benutzen zu können musste man die komplette Benutzung von DirectX austauschen. Das ist bei DirectX teschnisch schon nicht anders zu lösen. Ich meine aber gelesen zu haben, dass DirectX 11 irgendwie zu DirectX 10 kompatibel sein soll. Allerdings hat DirectX 10+ wieder ein anderes Problem. ;) |
Re: [un]Delphix vs. OpenGL?
Zitat:
|
Re: [un]Delphix vs. OpenGL?
Aber nur als Software-API, ohne HW-Unterstützung.
|
Re: [un]Delphix vs. OpenGL?
DirectSound ist ab Vista auch eine reine Software-Lösung, außer wenn man ALchemy von Creative einsetzt, wofür man jedoch eine Creative-Soundkarte benötigt. Der Effekt der Audiobeschleunigung ist ohnehin nicht mehr so groß. Außerdem kann man, wenn man wirklich will, auch in einer Direct3D-10-Anwendung ohne Probleme DirectSound verwenden.
XAudio2 ist übrigens teilweise hardware-beschleunigt auf der XBox 360 (XMA-Dekodierung). |
Re: [un]Delphix vs. OpenGL?
Zitat:
![]() Aufjedenfall so wie ich das sehe? oô Zitat:
Naja ich denke doch für meine Ansprüche würde ich doch eh dann mit OpenGL 2.0 auskommen. Und mich einarbeiten in 2.0 und dann auf 3.0 Umsteigen sollte doch nicht sooooooooo kompliziert sein, ich meine dann bin ich wenigstens mit der Materie vertraut, oder wäre es echt dann besser zu warten? oô |
Re: [un]Delphix vs. OpenGL?
Zitat:
|
Re: [un]Delphix vs. OpenGL?
Zitat:
Bei Sims 1 hatte man eine isometrische Perspektive, nur die Sims und bewegliche Objekte waren 3D. |
Re: [un]Delphix vs. OpenGL?
Joa und genau sowas wie die Sims 1 meine ich ja.
Also müsste ich eine Isometrische Welt schaffen und für die Figuren, und objekte brauch ich dann eben nen Hardwarebeschleuniger!?. |
Re: [un]Delphix vs. OpenGL?
Okay. Ich kenne die Sims so gar nicht. Und das Bild funktioniert bei mir gerade nicht. Ist aber normal. Aber wenn das schon eine 2D Welt und 3D Objekte sind, dann ist eine Hardwarebeschleunigung das einzig sinnvolle. Wobei, wenn die Figuren eh schon 3D sind, dann liegt der Schritt für eine komplette 3D Welt auch nicht so wirklich weit entfernt. Denn in einem 3D Programm brauchst du die Welt dann eigentlich so oder so. Allerdings solltest du auf keinen Fall den Aufwand davon unterschätzen.
OpenGL 3: Ja ursprünglich schon ende letzten Jahren. Letzte Planung war vor 1-2 Monaten oder so was. Um ehrlich zu sein habe ich den Durchblick verlohren. Und mittlerweile glaube ich es erst, wenn ich eine komplette Spezifikation (+ Header) und passende Implementationen von NVidia und AMD in meinen Händen halte. Allerdings sind die Veränderungen in OpenGL 3 doch ziemlich stark. Aber das Grundsystem ist gleich geblieben. Wenn du bei GL2 verstanden hast wie du dein Objekt verschieben und rotieren musst, dann wird das auch in GL3 gehen. Zum Beispiel hat sich die Erstellungen von Texturen und die Übertragung von Primitiven etwas verändert. In OpenGL 2 gibts für die Primitive aber schon etwas was dem aus GL3 ziemlich ähnlich ist. Wenn du also deinen Code so strukturierst, dass alle grafischen Funktionen sinnvoll von dem Rest den Codes getrennt sind, dann sehe ich keine Probleme. Also du solltest OpenGL nicht direkt benutzen sondern über eine Schnittstelle. Also anstelle selber die OpenGL Funktionen aufzurufen und ein Viereck zu zeichnen hast du bei einem Zeichenobjekt eine Methode zum Zeichnen eines Vierecks. Ich hoffe das Beispiel hat den Sinn nicht verfehlt. Also du solltest OpenGL weitestgehend vom Rest des Codes fern halten. Um so einfacher ist es später es gegen etwas anderes zu ersetzen. Und nein. Du solltest nicht warten. Überstürz es aber auch nicht. Denn für meinen Geschmack ist der grafische Teil bei einem solchen Spiel vermutlich eher der kleinste. Die Interaktion und alles kann sich zu einem echten Brocken auftürmen. |
Re: [un]Delphix vs. OpenGL?
Also soweit ich weiss ist ja OpenGL 3.0 nun rausgekommen und habe oft gehört dass es eine Enttäuschung ist und nicht die erwarteten Änderungen mit sich bringt.
Eine wichtige Sache zur Entscheidung habe ich noch ganz vergessen zu erwähnen. Denn ich habe unter Anderem auch vor eben eine solche "3D" Figur auf den Desktop auszugeben. Der Windows Vista Aero Desktop wird doch ohnehin in Direct X gerendert, soweit ich weiss, also dürfte es doch gehen oder bin ich dadurch dass es Direct X ist dann auf Direct X auch nur beschränkt? :?: |
Re: [un]Delphix vs. OpenGL?
Zitat:
|
Re: [un]Delphix vs. OpenGL?
Zitat:
Und zu DirectX mit Delphi gibt es kaum Informationen bei OpenGl sieht es etwas besser aus. |
Re: [un]Delphix vs. OpenGL?
Erst einmal: Die Sache mit Vista war ein Gedankenspiel von MS um einmal auszuloten, wie weit man sich eines Konkurrenten entledigt bekommt. Das Ding ging sehr nach hinten los ... OpenGL wird unter Vista i.d.R. nicht emuliert, sondern kann ganz normal verwendet werden.
Die Frage nach der richtigen API ist ein wenig wie die Suche nach der gesündesten Ernährung. ;) Doom 3 basiert auf OpenGL ... und dies nicht einmal auf der neusten Version. Als Entwickler sich gegen OpenGL zu entscheiden, weil aktuelle Features nicht zur Verfügung stehen, grenzt dort ein wenig an Hohn... oder Selbstüberschätzung. Eine API nach Ihrer Zukunftssicherheit auszuwählen ist dabei auch grenzwertig... wurde ja bereits ironisch darauf hingewiesen DX 31 und OpenGL 7 werden definitiv besser sein. Insbesondere bei der 3D-Programmierung gibt es extrem viele Gemeinsamkeiten, so dass man sich als Einsteiger darum weniger sorgen machen sollte. Hat man erst einmal die grundlegenden Prinzipien verstanden und kommt mit Matrizen klar, ist es nur eine API unter vielen. Vielmehr sollte die Entscheidung eine Frage der Ideologie sein. Steht man für Freiheit oder nicht. Will man sich von einem Hersteller abhängig machen oder lieber auf einen freien Standard setzen? Hand aufs Herz: Der Spielebereich für Windows ist überschwemmt. Es gibt zig gute kostenlose Titel für Windows und ein weiterer guter Tetris-Clone geht in der Bedeutungslosigkeit unter. Unter Linux sieht das schon wesentlich anderes aus. (Das soll keine Kritik an Linux sein *g) Schaut man dort mal auf aktuelle Projekte, so stellt man fest, dass diese meist auf einem Niveau von < 15 Jahren in der Vergangenheit liegen. Ergo, ein überdurchschittlicher Titeln unter Windows von einem Hobbisten wird in der Bedeutungslosigkeit untergehen, könnte unter Linux ein Hit sein. Ich würde alleine auf Grund dieser Überlegungen jedem 1-Mann-Team empfehlen auf OpenGL zu setzen, weil man einfach eine viel größere Zielgruppe ansprechen kann. Und kaum einer wird abstreiten können, dass er es nicht cool finden würde sein entwickeltes Projekt auch auf einem Linux-System oder einem Mac laufen zu sehen. Jemand der auf DX setzt, wird sich von diesem Gedanken gleich verabschieden können. Die Features weswegen viele Leute von OpenGL enttäuscht waren sind für die meisten Heimnutzer (insbesondere wenn sie erst anfangen zu lernen) ohne uninteressant. OpenGL ist ein Industriestandard und wird alleine deswegen schon nicht aussterben. Wer schon einmal im industriellen Bereich oder bei einem Arzt etwas gesehen hat, wird feststellen, dass es nirgends D3D gewesen ist. Ergo: Wir haben es hier mit zwei sehr guten APIs zu tun, die lange Zeit erhalten bleiben. Wer eine API beherrscht, wird schnell auf die andere wechseln können. D3D hat aktuell technologisch die Nase leicht vorn, OpenGL läuft dafür auf anderen Plattformen. Ach ja, es versteht sich von selbst, dass mein Beitrag nicht überparteilich ist ;) |
AW: [un]Delphix vs. OpenGL?
Ich mag OpenGL mehr. Es ist etwas programmierer-freundlicher. OpenGL eher prozedural, DirectX eher objektorientiert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 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