Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jun 21, 2025 19:52

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 34 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Mi Aug 08, 2012 06:38 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Thmfrnk hat geschrieben:
soo, muss auch mal meinen Senf dazugeben.. Also ich persönlich denke nicht das OpenDL direkt schneller ist als D3D. Der Grund warum die Entwickler zur Zeit und auch in Zukunft auf D3D setzten ist, das die Schnittstelle weitaus moderner und einfacher zu erlernen ist als OpenGL. D3D ist OOP, OpenGL ist aus alter Zeit.. Ich hab mich damals für OpenGL entschieden, da dieses schicke Forum hier gab und ich keinen brauchbaren D3D Header für Delphi gefunden hatte..

Die Sache ist wesentlich trivialer, als du glaubst.
In den meisten Spielen wird D3D benutzt, weil es sehr viele Programmierer gibt, die an Spielen mit D3D gearbeitet haben, als mit OpenGL und damit das Risiko, zu wenig gute Leute zu finden geringer ist.

Allerdings ist OpenGL ja vor einigen Jahren aus sein Winterschlaf gekommen und mit den gestern veröffentlichten 4.3 Version hat nun OpenGL den geringen Vorsprung zu einem großem gemacht. Bei Spielen ist es auch üblich, das ganze Rendering zu kapseln und damit brauchen viele Programmierer gar kein tief gehendes Wissen von OGL und/oder D3D.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Mi Aug 08, 2012 10:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
TAK2004 hat geschrieben:
Allerdings ist OpenGL ja vor einigen Jahren aus sein Winterschlaf gekommen ...
Für die Einen ist es Winterschlaf für die Anderen schon fast das längste Koma der Welt. ;) Aber ja. OpenGL hat sich in der Vergangenheit zu sehr auf seinen Erfolgen von noch älterer Vergangenheit ausgeruht wodurch DirectX einen recht großen Vorteil erlangen konnte.

TAK2004 hat geschrieben:
... und mit den gestern veröffentlichten 4.3 Version hat nun OpenGL den geringen Vorsprung zu einem großem gemacht.
Ich hänge so gar nicht mehr in den Features von OpenGL drin. Allerdings in Artikeln habe ich gelesen, dass die so etwas wie Compute Shader aus DirectX 11 jetzt auch können. DirectX 11 ist aber schon seit so ca. 3 Jahren draußen. Und, dass man mit verschiedenen Threads auf ein und den selben Direct3D 11 Kontext (keine Ahnung wie das genau heißt) zugreifen kann ist extrem schnuckelig. Das ist meines Wissens nach bei OpenGL nicht möglich. Gibt es da noch andere Killer Features oder wie kommst du auf Vorsprung?

Lord Horazont hat geschrieben:
Es zeigt, dass es von der Anwenderseite her keinen sinnvollen Grund mehr gibt, dass Entwickler auf D3D setzen.
Das würde so nicht unterschreiben. Direct3D gehört zu DirectX. Und DirectX ist ein Software Development Kit. Und damit bekommt man Grafik, Sound, Input, Netzwerk und Tools. Während OpenGL "nur" eine Grafikschnittstelle ist. Die vor allem vor 3.0 teilweise einem Glückspiel gleich kam. Und als Firma ist es da wohl eher eine strategische und finanzielle Entscheidung worauf ich setze. Meiner Meinung nach sind dabei die Frameraten vollkommen zweitrangig. Wer kann außerdem schon so genau sagen, dass man aus der Direct3D Variante nicht auch noch mehr hätte rausholen können? Aber da geht meiner Meinung nach der Trend sowieso zu komplexen Engines die nur noch eingekauft werden. Damit müssen sich die Firmen eh nicht mehr so um solche Details kümmern.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Mi Aug 08, 2012 14:30 
Offline
DGL Member

Registriert: Mi Jan 05, 2011 14:55
Beiträge: 47
Programmiersprache: Delphi, C++,C
Ich denke das der Hauptstreitpunkt in diesem Thema ist, ob und wenn wie lange Windows noch benötigt wird. Sollte es nun sein das auch andere Entwicklerstudios auf OpenGL umsteigen wird es in wenigen Jahren keinen Grund mehr geben Windows weiter zu nutzen. Der einzige Nachteil den Linux heute noch genen Windows hat, ist die schlechte Unterstützng von AAA Spielen. Und es ist außerdem klar das die Studios auf Direct3D gestzt habe und setzen. Microsoft ünterstützt von Haus aus nur Direct3D und versucht - zum Beispiel bei Vista- OpenGL schlecht aussehen zu lassen. Und das ist der Punkt wiso ich nicht denke, dass OpenGL Direct3D so schnell verschwinden wird. Sollte dies passieren steht Microsoft vor dem Aus. Denn Linux ist in vielen Versionen deutlich besser als WIndows und ist mitlerweile mit Ubuntu, FreeMint, usw. auch für die normalen Nutzer einfach zu nutzen. Es geht nicht om OpenGL oder Direct3D, sondern um die Existens von Windows und so Microsoft.

MfG
nuclear


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Mi Aug 08, 2012 18:28 
Offline
DGL Member
Benutzeravatar

Registriert: So Sep 26, 2010 12:54
Beiträge: 238
Wohnort: wieder in Berlin
Programmiersprache: Englisch
nuclear hat geschrieben:
Ich denke das der Hauptstreitpunkt in diesem Thema ist, ob und wenn wie lange Windows noch benötigt wird. Sollte es nun sein das auch andere Entwicklerstudios auf OpenGL umsteigen wird es in wenigen Jahren keinen Grund mehr geben Windows weiter zu nutzen. Der einzige Nachteil den Linux heute noch genen Windows hat, ist die schlechte Unterstützng von AAA Spielen. Und es ist außerdem klar das die Studios auf Direct3D gestzt habe und setzen. Microsoft ünterstützt von Haus aus nur Direct3D und versucht - zum Beispiel bei Vista- OpenGL schlecht aussehen zu lassen. Und das ist der Punkt wiso ich nicht denke, dass OpenGL Direct3D so schnell verschwinden wird. Sollte dies passieren steht Microsoft vor dem Aus. Denn Linux ist in vielen Versionen deutlich besser als WIndows und ist mitlerweile mit Ubuntu, FreeMint, usw. auch für die normalen Nutzer einfach zu nutzen. Es geht nicht om OpenGL oder Direct3D, sondern um die Existens von Windows und so Microsoft.

MfG
nuclear


So ein Käse.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Do Aug 09, 2012 07:40 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 20, 2005 13:18
Beiträge: 1054
Wohnort: Dresden
Programmiersprache: C, C++, Pascal, OPL
Ja, wenn die Existenz und der Vorteil von Windows nur an Spielen hängt, würde jede Firma sofort auf Linux umsteigen - denn die Angestellten sollen produktiv arbeiten und nicht 3D-Spielchen spielen.
Nein, das ganze ist vielschichtiger, aber auch nicht das Topic hier. Ein Woche Heiseforum und man kennt die gröbsten Argumente beider Fraktionen. ;-)

Auch die These, dass OpenGL veraltet sei (so prinzipbedingt schon) und Direct3D durch OOP automatisch besser und einfacher, halte ich für schwer haltbar.

Zum einen kommt es heute in beiden Schnittstellen immer mehr auf Shaderprogrammierung an - die so verschieden nicht ist.
Zum anderen finde ich den funktionellen Charakter von OpenGL alles andere als veraltet und schwerer erlernbar als OOP. Im Gegenteil. Aber das ist wohl auch Geschmacksfrage. Im Endeffekt müssen die Programmierer, die das etwaige Spieleframework erst erschaffen, so oder so Ahnung von Computergrafik haben. Ob man ein VBO nun auf OpenGL oder Direct3D Wege erzeugt, ist erstmal egal. Man muss wissen, wie es geht, und machen. Das einzig interessante ist, OB es geht. Und hier gibt es noch ein paar wenige Unterschiede zwischen OpenGL und Direct3D, wo man schauen muss, was einem näher liegt.

Wenn einem OpenGL oder Direct3D zu schwer ist, um sein Ziel zu erreichen, sollte man drüber nachdenken ein fertiges (freies) Framework wie z.B. Ogre zu nutzen. Dann muss man sich gar nicht mehr mit den Unterschieden rumschlagen.

_________________
Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut.
Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’.
Und du schaust mich an und fragst ob ich das kann.
Und ich denk, ich werd' mich ändern irgendwann.

_________________Farin Urlaub - Bewegungslos


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Do Aug 09, 2012 08:16 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Zitat:
TAK2004 hat geschrieben:
... und mit den gestern veröffentlichten 4.3 Version hat nun OpenGL den geringen Vorsprung zu einem großem gemacht.
Ich hänge so gar nicht mehr in den Features von OpenGL drin. Allerdings in Artikeln habe ich gelesen, dass die so etwas wie Compute Shader aus DirectX 11 jetzt auch können. DirectX 11 ist aber schon seit so ca. 3 Jahren draußen. Und, dass man mit verschiedenen Threads auf ein und den selben Direct3D 11 Kontext (keine Ahnung wie das genau heißt) zugreifen kann ist extrem schnuckelig. Das ist meines Wissens nach bei OpenGL nicht möglich. Gibt es da noch andere Killer Features oder wie kommst du auf Vorsprung?

Ich kenne mich nicht so tiefgehen d mit d3d aus aber ich bin der meinung, das der compute shader nur im bereich der geometry erstellung verfügbar ist.
Der Compute Shader in opengl4.3 kann vor dem vertex processing, nach dem rasterisieren(für postprozessing ohne 2. Pass) und nach dem transform feedback gehangen werden(um z.B. bounding volumen der gpu partikel zu berechnen, kollisions korrekturen machen).

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Do Aug 09, 2012 08:39 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Zitat:
Ich kenne mich nicht so tiefgehen d mit d3d aus aber ich bin der meinung, das der compute shader nur im bereich der geometry erstellung verfügbar ist.
Der Compute Shader in opengl4.3 kann vor dem vertex processing, nach dem rasterisieren(für postprozessing ohne 2. Pass) und nach dem transform feedback gehangen werden(um z.B. bounding volumen der gpu partikel zu berechnen, kollisions korrekturen machen).


Die D3D Compute Shader kann man für alles verwenden, nicht nur für irgendwelche Geometriesachen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Do Aug 09, 2012 10:13 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Compute Shader: Das klingt ja insgesammt gar nicht mal so blöd. Meine aber auch mich ein bisschen so erinnern zu können, dass die Direct3D Compute Shader auch so ein bisschen in die Richtung OpenCL gehen. Also das man hardwaregesteuert die diversesten Berechnungen durchführen kann.

OOP vs. Procedural: Etwas was mich an OpenGL immer ein bisschen genervt hat. Objekte bieten nur die Funktionen an die sie auch unterstützen. Bei einer proceduralen Schnittstelle sieht man blöderweise immer alle Funktionen. Speziell auch in den Hilfsmitteln einer IDE. Dadurch muss man etwas besser wissen wonach man sucht und was man braucht.

nuclear: OpenGL ist aber bereits lange vor Vista für die Spieleindustrie uninteressant geworden. Windows macht wesentlich mehr aus als nur Spiele. Klar bei Hardwareeinrichtungen habe ich mit Windows auch immer mal wieder meine lieben Probleme. Nur die Versuche die ich unter Ubuntu gestartet hatte habe ich nach 2 Wochen erfolglos aufgeben. Und gerade unter der Oberfläche lässt sich die Vergangenheit nicht leugnen. Und das ist teilweise nicht sehr massentauglich. Wie leider auch recht oft bei alle möglichen OpenSource Projekten. Die meiner Meinung nach noch viel zu oft den Fokus auf die falschen Punkte setzen. Und Teilweise ja auch stolz darauf sind eine Daufreie Zone zu sein. Und so lange wird sich an den Verhältnissen nicht viel ändern. ;)
Bei Spielen wird der Trend aber wohl eh eher in Richtung Monsole/Mobile gehen. Zu mindest dort wo sich die Steuerung vernünftig umsetzen lässt. Alles andere bleibt wohl zwangsweise auf dem PC.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Do Aug 09, 2012 14:44 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Es gibt wohl auch leider noch ein Punkt für Windows den viel hier vergessen: Die meisten 3D Editoren laufen nur auf Windows-Systeme, obwohl diese OpenGL und Direct3D unterstützten. 3DS Max, Maya, Cinema 4D etc.... Mag sein dass diese vielleicht irgendwie mit Wine zum laufen zu kriegen sind, aber das ist wie bei wine immer - zum weinen.

Klar es gibt Blender, aber die Steuerung davon ist Geschmackssache und irgendwie umständlicher als bei 3DS Max.

Schauen wir einfach mal wie es sich entwickelt, ich denke Microsoft wird irgendwann DirectX 12 raushauen und dann werden wir sehen ob OpenGL noch mithalten kann. Aber im bereich Mobile wird OpenGL ES eindeutig vorn liegen.

Wie ist denn das bei Windows Phone 7/8, das läuft doch über DirectX oder?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Do Aug 09, 2012 15:12 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Finalspace hat geschrieben:
Es gibt wohl auch leider noch ein Punkt für Windows den viel hier vergessen: Die meisten 3D Editoren laufen nur auf Windows-Systeme, obwohl diese OpenGL und Direct3D unterstützten. 3DS Max, Maya, Cinema 4D etc....


Maya gibt es sowohl für Windows, Linux als auch MacOSX.
3dsMax gibt es nur für Windows, wird sofern sie es nicht komplett neu entwickeln sich auch niemals ändern (wer die API kennt weiß wieso)
Cinema4D - keine Ahnung, aber.. benutzt das ernsthaft wer? :D

Aya


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Do Aug 09, 2012 15:27 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
cinema4D ebenfalls nur Windows...

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Do Aug 09, 2012 19:56 
Offline
DGL Member

Registriert: Mi Sep 15, 2010 18:22
Beiträge: 59
Wohnort: Sachsen Meißen
Programmiersprache: Pascal, C(++), Java
Ich halte nichts von vergleichen OpenGL vs. Direct3D, aber ich denke schon, dass Direct3D ein wenig Performance durch OOP verliert. Direct3D und damit DirectX wird imho häufig als Qualitätssiegel missbraucht. Vergleiche von DirectX x mit DirectX x+1 lassen den Eindruck entstehen, das ein Update automatisch alte Spiele aufbessert. Das eine höhere Version nur neue Möglichkeiten bietet für die Entwickler aufwendigere Techniken einzusetzen, wird meistens verschwiegen. Auf der Verpackung meiner Grafikkarte steht nicht ein Wort über OpenGL, vielleicht versteckt unter der Menge von Aufklebern mit DirectX und Designend for Windows usw.

Es wird nicht das Ende von Windows sein, aber definitiv das Ende meiner Windows-Partition. Ich hoffe, dass man nun endlich mit ordentlichen Grafiktreibern versorgt wird. Die Performance der Nvidia Treiber mag zwar besser sein als die von AMD, aber dafür ist die Einbindung ins System und Lastregelung eine einzige Katastrophe. Die beste Unterstützung liefert Intel, die bauen aber nur Onboard.

Was ich nicht verstehe wie man einen Grafiktreiber auf ein Spiel optimieren kann. Normalerweise implementiert der Grafikkartenhersteller die OpenGL Spezifikationen - (theoretisch) fehlerfrei. Wenn nun bei einem Spiel Grafikfehler oder Performanceschwierigkeiten auftreten, ist dies doch in erster Linie ein Fehler der Spieleprogrammierer?

_________________
bluesky


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Fr Aug 10, 2012 07:42 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
man nutzt ganz einfach eine herstellerspezifische Extension, um das Spiel mit dieser Extension grafisch (wenn es der Spieler nicht sieht bringts auch nix) aufzubessern.

Beispiel:

Stronghold 2 TruForm (irgendwas mit Tesselation), nur auf ATI Grafikkarten verfügbar

Das Spiel sieht auch auf NVIDIA Grafikkarten gut aus, aber eben auf ATI Grafikkarten besser.

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Fr Aug 10, 2012 08:17 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Nun für die Entwicklung unter Windows sprechen ne ganze Reihe an Gründen. Insbesondere was die interne und externe Infrastruktur Angeht kann leider kein anderes
System mithalten. Ich meine mal versuch doch mal mit solchen Sachen wie Hyper-V,Dynamics,ADFS und co unter Linux mitzuhalten da hast du mindesten 20 MT mehr
an Arbeit um auch nur Ansatzweise da mithalten zu können. Und dann kommt für uns Entwickler ja noch VS (p.s. 2012 wird verflucht geil) hinzu ... :D.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL schneller als Direct3D
BeitragVerfasst: Fr Aug 10, 2012 08:43 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Unabhängig davon, welche Tools man wo hat wird man sowieso ein dualboot system, virtual machiene, bzw. 2 machienen und mehr zur entwicklung nutzen, wenn man vor hat für mehrere systeme zu entwickeln.
Man kann nicht einfach alles in einer vm laufen lassen, zum entwickeln geht das aber nicht zum performance test.
Es gibt tools die es nur für windows gibt und es gibt tools, die nur für linux sind und natürlich die cross tools.
Sich wegen einer Entwicklungsumgebung für ein OS zu entscheiden macht in meinen Augen keinen Sinn, dafür sind diese nicht wichtig genug.
Eine nicht so tolle IDE wird zwar die entwicklungszeit verlängern aber sämtliche features, die man haben will bekommt man überall, man muss nur bereit sein Geld zu lassen.
VS2010 alleine würde ich z.B. nicht dran hängen, weil Geany und Code::Blocks der proffesional Version in nix nach stehen aber mit dem kostenpflichtigen addons visual assist x und visualgdb sieht die sache anders aus, man kann einiges an zeit sparen und dinge einfacher machen aber es geht auch prima ohne.
Ich hab auf arbeit auch schon nen halbes jahr mit vim und ner uralt code::blocks version gearbeitet, man gewöhnt sich an alles und soviel Zeit verliert man nicht gegenüber Windows.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 34 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.023s | 15 Queries | GZIP : On ]