DirectX Vs OpenGl

Übersicht Sonstiges Smalltalk

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

rctuner

Betreff: DirectX Vs OpenGl

BeitragDo, Nov 22, 2007 16:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

1) Gibts da irgendwelche vor und nachteile? Außer, dass OpenGL Plattformunabhängig ist?
Konnte driekt dazu nichts finden.

Es gibt ja mittlerweile viele gute Engines die OpenGL nutzen wie zum Beispiel die UNREAL 3 Engine.

2) Weiß jemand ob Half Life 2 DX oder OpenGL nutzt?
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu

[AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB]
 

Dreamora

BeitragDo, Nov 22, 2007 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Ja OpenGL läuft auf Windows mit ausnahme von NVIDIA meist merklich schlechter als DX.
Die Engines, die OpenGL als Zweitrenderer unterstützen, tun dies entweder wie Blizzard weil sie OSX unterstützen oder wie Unreal weil die Engine auch für X360 und PS3 ausgelegt ist.

2. DirectX (ATI ist da das empfohlene Projekt)

Ausser id setzt niemand auf OpenGL als Primary unter Windows (von denen die wirklich an die Grafikgrenzen gehen). Viele haben es nicht Mal als Alternative im Angebot.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

E. Urbach

ehemals "Basicprogger"

BeitragDo, Nov 22, 2007 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Google hilft:
http://www.google.de/search?hl...&meta=

OpenGL auf Linux/MacOS, Direct3D auf Windows.
Würde ja OpenGL gerne auch unter Windows einsetzen, aber da nunmal der Treiber standardmäßig bei "Normalnutzern" nicht gerade das Gelbe vom Ei ist, verwende ich bei Windows Direct3D.

Kurze Zusammenfassung:

OpenGL:
- Läuft auf mehreren Plattformen, ich nutze es z.B. für meinen Linux-PDA Smile
- Geringer Overhead
- Reine Grafik-API, standardmäßig keine Funktionen für Sound, Netzwerk usw.
- Keine OOP (man kann einen Wrapper dafür schreiben, wenn man unbedingt OOP haben möchte)

DirectX:
- Läuft nur auf Windows
- Relativ großer Overhead, viele Header/Bibliotheken
- Keine reine Grafik-API, siehe DirectInput, DirectSound (mittlerweile veraltet), usw.
- OOP

Was ich besonders hasse ist, dass DirectX sich so oft verändert. Natürlich ist es gut, dass daran gearbeitet wird, aber in dem Tempo komme ich einfach nicht mit. Kaum hat man eine Direct3D 9-Implementation für eine Schnittstelle fertig programmiert, muss man schon wieder Direct3D 10 erlernen. Geometry Shader bspw. sind wirklich praktisch, aber dafür muss ich nun meine gesamte Engine für den Einsatz von Shadern umkrempeln.

OpenGL wird seltener aktualisiert, aber die Funktionsnamen/Typen ändern sich nicht. Ausnahme ist das Verschwinden von glBegin/glEnd in OpenGL 3.0, aber deswegen muss ich nicht gleich eine neue Implementation der Schnittstelle erstellen, sondern kann einfach die vorherige Implementation verbessern bzw. anpassen.

Außerdem sind Shader, die man in OpenGL schreibt nicht in D3D nutzbar und umgekehrt. Nvidia hat zwar Cg für solche Zwecke entwickelt, aber ich persönlich habe es noch nie getestet, werde es demnächst tun.

Wie schon gesagt, kommt es auf das Betriebssystem an.
Mit beiden APIs kommt man zum Ziel. Die Frage ist nur, welchen Weg man nimmt. Man kann den direkten Weg nehmen oder den Umweg. Aber in einigen Fällen könnte sich der Umweg als kürzer erweisen Wink
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

porcus

BeitragDo, Nov 22, 2007 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
OpenGL ist viel cooler. Wenn man mit OpenGl programmiert gibt es viel mehr Unterstützung aus
diversen Foren. Außerdem gab es da mal von Nvidia son paar Direct3D 10 Beispiele, die sie auch für
winxp mit opengl rausgebracht ham. warum soll ich dann directx nehmen, wenn opengl plattformunabhängig
ist und man auch coole Grafik machn kann?
*Account deaktiviert*
 

Dreamora

BeitragDo, Nov 22, 2007 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Weils nicht unabhängig ist.
Unter Vista kannst du OGL genau für NVIDIA User brauchen, das wars ...
Unter XP isses ähnlich, die ATI Treiber taugen garnix und die Intel Treiber haben häufig keinen GL support sondern nutzen die MS Emulation
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

rctuner

BeitragDo, Nov 22, 2007 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ich frage, weil ich überlegt habe auf die Leadwerks Engine umzusteigen. Die nutzt nämlich OpenGL.
Hat mit der schon jemand Erfahrungen gemacht oder etwas über die Engine gehört?

Nur nebenbei, ich würde sie kaufen falls sie hier jmd. loswerden will. Siehe BlitzBasar.
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu

[AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB]
 

Dreamora

BeitragDo, Nov 22, 2007 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Sie ist eigentlich nicht schlecht.
Aber du musst dir zweier Dinge bewusst sein:

1. Für NVIDIA geschrieben, Josh selbst hat nur NVIDIA. Heisst läuft auf ATI auch, aber hat Probleme
2. Relativ hohe Hardware Anforderungen. Auf meiner 7600Go (7300GT equivalent) mit 256MB VRAM war das resultat selbst bei dem kleinen Testlevel mehr als nur verbesserungswürdig (30 FPS finde ich da höchst inakzeptabel)


Wenn du Crossplattform willst, vermutlich ausser MiniB3D und GMans Irrlicht Modul die einzige Lösung bis Flow raus kommt nächsten Feb / März

Wenn du jedoch nur Windows willst, lad dir Gabriels gratis Truevision 3D Wrapper runter und Truevision 3D. Das kostet dich nichts ausser du willst das Spiel kommerziell verkaufen, dann müsstest du für die Truevision 3D Lizenz bezahlen.
Vorteil TV3D: Die engine skaliert grossartig runter auf Systeme die nicht Grad Shader 3 sind (also bei ATI fast alles und bei NVIDIA halt GeForce 5). Selbst auf meiner 900GMA im Tablet komme ich da locker auf Blitz3D ähnlichen Speed bei aufwendigeren Sachen, was mir sonst keine Engine bis anhin bot.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Nov 22, 2007 21:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab jetzt zwar nicht wirklich viel Ahnung von, aber nach dem installieren von Serious Sam wurde automatisch OpenGL aktiviert und dieses läuft einwandfrei auf meinem System und habe dabei eine uralte ATI Radeon 9600SE. Ehrlich gesagt gefällt es mir bei dem Spiel sogar besser, als die DirectX Einstellung. Es kann also gut sein, dass das Problem nur auf ein bestimmten Typ einer ATI -Karte auftrat, genauso wie bestimmte Probleme mit anderen Grafikkarten mit anderen Einstellungen auftreten.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Dreamora

BeitragDo, Nov 22, 2007 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Serious Sam zwingt ja auch keine Grafikkarten in die Knie, das kann man auch mit Microsofts OpenGL Emulation auf XP auf nem 3Ghz P4 noch spielen Smile

Das Problem sind eher die hohen Features (auf welchen die Leadwerks aufbaut), die nicht oder nicht auf der nötigen Performance funktionieren, weswegen OpenGL nur ausserhalb von Windows zu empfehlen ist.

Unter Windows Vista ist es so, das Intel und AMD keinen / fehlerhaften OpenGL support haben (bei intel sind die alten karten betroffen, die bekommen keine WDDM Treiber mangels einer funktionalität -> kein OpenGL), dort kann man OpenGL only ohne Einschränkung als Sackgasse oder Suizidversuch ansehen für ein Projekt.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

rctuner

BeitragDo, Nov 22, 2007 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
Sie ist eigentlich nicht schlecht.

1. Für NVIDIA geschrieben, Josh selbst hat nur NVIDIA. Heisst läuft auf ATI auch, aber hat Probleme
2. Relativ hohe Hardware Anforderungen. Auf meiner 7600Go (7300GT equivalent) mit 256MB VRAM war das resultat selbst bei dem kleinen Testlevel mehr als nur verbesserungswürdig (30 FPS finde ich da höchst inakzeptabel)


zu 1. Soweit ich das in dem Forum gelesen habe bemüht er sich jetzt mehr darum, dass die Engine auch fehlerfrei unter ATI läuft... Heist aber nicht das Probleme ausgeschlossen sind. OK.

zu 2. Dann hast du warscheinlich das Testlevel mit der Version 1.0 durchwandert. Ich glaube ab > 1.0
hat er bedeutende performace verbesserungen vorgenommen.
Das ist auch eigendlich mein hauptgrund, warum ich mich für diese Engine interessiere. Die Geschwindigkeit, Shader und eine einigermaßen Basic ähnliche Sprache. Die meißten Befehle sind ja sogut wie gleich bei Blitz3D. Was das erlernen der Sprache doch erheblich erleichtern sollte wenn man einigermaßen Blitz beherrscht.

Oder was meint ihr dazu? Viel Beispiel Code habe ich von der Engine noch nicht gesehen, aber die meißten Befehle sind wirklich genau gleich, anders als bei DarkBasic, welche ich eigendlich erstmal nehmen wollte.

Edit 1: Ich programmiere eigendlich nur für Windows, andere Betriebssysteme sollten erstmal egal sein oder ganz hinten anstehen...
 

Dreamora

BeitragFr, Nov 23, 2007 0:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn dein Ziel Windows ist, ist OpenGL definitiv der falsche Weg.
Dann würde ich schwerstens einen Blick auf Truevision 3D empfehlen, speziell da sie dich nichts kostet solange du es umsonst rausgeben willst oder gar nicht raus gibst. (du hast dann einfach das Wasserzeichen aber das ist kaum ein Problem).
Wie erwähnt hat Gabriel dazu einen Wrapper für BM geschrieben den man in der Precompiled Fassung sogar umsonst nutzen kann. Alternativ kannst du TV3D aber auch mit jeder .NET Sprache und C++ nutzen.

OpenGL wird auf Windows immer zweitrangig bleiben, speziell unter Vista verdammst du damit dein Spiel zur Unbrauchbarkeit bis auf unbestimmte Zeit. Im Falle der Leadwerks potentiell noch länger, da er sich wie GarageGames verhält: "Hä, hat doch jeder ne HighEnd Karte wie ich, wozu also Fallback Mechanismen". Er hat nicht im Ansatz das nötige Testlabor um seine GLSL Shader für die verschiedenen Kartengenerationen etc zu schreiben, geschweige denn wäre das alleine zu schafen, wenn man auch noch an was anderem als Shader den lieben langen Tag arbeiten will. Speziell auf ATI ist das ein Problem, denn ATI war in jeder Generation der DX9 Karten jeweils massiv hinter NVIDIA zurück was die Features und "nicht zwingenden Bestandteile" betraf in der Shaderpipeline. ATI hatte jeweils das Minimum für den entsprechenden Shaderstandard, während NVIDIA schon länger Features hat, die ATI erst mit der X1300+ oder HD 2300+ integriert hat.
Deswegen wird da die Leadwerks auch Probleme haben bis er einen sauberen Fallback integriert und entsprechende Fakeshader/Ersatzshader für ATI schreibt die die Beschränkungen einhalten.
Wenn du auf ATI OpenGL willst musst du ne CAD Karte kaufen, keine Gamer Karte
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Jan_

Ehemaliger Admin

BeitragFr, Nov 23, 2007 9:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Lösung, ist sozusagen, nur Nvidia karten zu bedienen Smile
between angels and insects

stfighter01

BeitragFr, Nov 23, 2007 9:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Diese Lösung würde NVIDIA bestimmt gefallen, aber kaum den bereits zig millionen Usern von ATI karten.
Denken hilft!
 

Dreamora

BeitragFr, Nov 23, 2007 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hätten sie mit Weitsicht und auf den Stromverbrauch achtend ihre Karten gekauft, hätten sie das Problem nicht Wink (damit spiele ich logischerweise auf das Minikraftwert HD2900XT an, dass energietechnisch unter jeder Sau ist und nach heutigen gesellschaftlichen Normen niemals hätte verkauft werden dürfen ausserhalb der USA und China)
Ne ernsthaft: ATI hat halt explizit die Sektoren gesplittet (Windows, Unix, CAD) und versucht nicht wie NVIDIA mit einer Technologie alles zu bedienen (zumindest alle Plattformen gleichermassen). Da kommt NVIDIA dann vor allem auch zu gute, dass sie vor Jahren 3dfx (Vodoo macher) gekauft haben und damit ein Verständnis von OpenGL haben wie es ATI nach wie vor fehlt.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

lettorTrepuS

BeitragSa, Nov 24, 2007 0:08
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

Lunatix

BeitragSa, Nov 24, 2007 0:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine kleine zwischenfrage von mir, da du, Dreamora, sagtest, OpenGL läuft nicht allzu gutauf Intel/ATI : Ich wollte gerad mal ein kleines oder vielleicht auch grösseres Topdown spiel (Draufsicht also) programmieren. Das ganze würde auf kleopto's minib3d basieren und die einzelnen Teile würden als Singlesurface per Polygone angezeigt werden. Also Gänge, Fahrzeuge und Spielfiguren. Eventuell etwas Transparenz bei beleuchteten Geräten, leuchtenden Plasma stößen von Waffen etc.

Würde das diese Emulation packen? Denn ich würde schon gern Klepto's minib3d einsetzen...
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Jan_

Ehemaliger Admin

BeitragSa, Nov 24, 2007 1:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Scream3d?
user posted image
nein, wir reden gerade nicht über dich
between angels and insects
 

lettorTrepuS

BeitragSa, Nov 24, 2007 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

rctuner

BeitragSo, Nov 25, 2007 1:31
Antworten mit Zitat
Benutzer-Profile anzeigen
er meint warscheinlich, dass er sich nicht erklären kann wieso du auf einmal von Scream3D sprichst. Ich verstehe den letzten Satz auch nicht wirklich.
Ist aber nicht weiter schlimm.


Das ist wirklich alles sehr entteuschend was du Dreamora über OpenGL erzählst. Ich stand kurz davor mir die Engine zu kaufen. Soweit ich das nämlich im Forum gelesen habe, meinten die meißten sie hätten keine Probleme unter Vista und Josh gibt sich jetzt auch mehr mühe um zusammen mit der Community die Engine für ATI zu optimieren. Ich war eigendlich recht überzeugt von der Engine.

Ich würde sonnst auch Truevision nehmen, aber BlitzMax liegt mir nicht besonders.
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu

[AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB]
 

Dreamora

BeitragSo, Nov 25, 2007 12:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Junkprogger hat Folgendes geschrieben:
Eine kleine zwischenfrage von mir, da du, Dreamora, sagtest, OpenGL läuft nicht allzu gutauf Intel/ATI : Ich wollte gerad mal ein kleines oder vielleicht auch grösseres Topdown spiel (Draufsicht also) programmieren. Das ganze würde auf kleopto's minib3d basieren und die einzelnen Teile würden als Singlesurface per Polygone angezeigt werden. Also Gänge, Fahrzeuge und Spielfiguren. Eventuell etwas Transparenz bei beleuchteten Geräten, leuchtenden Plasma stößen von Waffen etc.

Würde das diese Emulation packen? Denn ich würde schon gern Klepto's minib3d einsetzen...



Reguläres MiniB3D würde es packen (XP, Vista hat keine)
Kleptos nein, da er VertexBufferObjekte ebenfalls einsetzt. Sofern du diese Optimierungen nicht nutzst gehts natürlich nur dann kannst du dir wenn die neue MiniB3D Version draussen ist, die OctTree drinne hat, Kleptos version auch gleich ganz sparen.



RCTuner: Es kommt halt sehr draufan wen du mit deinem Spiel ansprechen willst. Die Blitz Userschaft kannst du mit Leadwerks sowieso streichen, denn auf LowEnd läuft die Engine grauenvoll, nicht nur wegen OGL sondern auch weil er keine Fallbacks hat.
Ich bin mir bewusst das Josh sich bemüht es auch ATI freundlich zu machen. Da er jedoch parallel auch an der "High End Nachfolgeversion" (oder was das darstellen wird wenn sie fertig ist) arbeitet, sowie am Nachfolger von 3DWS, habe ich berechtigte Zweifel, dass es auf ATI jemals so gut funktionieren wird wie auf NVidia. Speziell unter Vista wo ATI ohnehin schon Probleme hat mit OpenGL (weiss net inwiefern Catalyst 7.11 die Probleme gelöst hat)
Im Endeffekt kann je nachdem was du machen willst und vor allem für wen, die Leadwerks Engine genau das richtige sein für dich. Für mich ist sie es wegen dem mangelnden Fallback und anderen Gründen definitiv nicht.

Wenn dir BM nicht liegt frage ich mich allerdings womit du genau geplannt hattest die Engine zu nutzen ...
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group