![]() |
![]() |
|
|
|||||||
| Hardware Simmer helfen Simmern - Fragen, Antworten, Diskussionen zu flugsimulatorspezifischen Hardwareproblemen. |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Inventar
![]() Registriert seit: 30.01.2003
Alter: 40
Beiträge: 1.553
|
wo ist eigentlich der unterschied zwischen openGL und direct 3D??
bringt das eine mehr leistung als das andere, oder ist das vom system abhängig was man benutzt? dumme frage, aber ich hab davon einfach keine ahnung, sorry. vielleicht hat jemand lust das zu beantworten. Gruß aus Ludwigsburg! der Julius
____________________________________
\"Ich würde gern leben wie ein armer Mann mit einem Haufen Geld.\" Picasso WILD Herausgeber >(Nummer 9 ist da...) |
|
|
|
|
|
#2 |
|
Inventar
![]() |
Also was nun besser ist weiß ich nicht.
Aber der Hauptunterschied ist wohl, dass Direct X Dinge von Microsoft sind, während OpenGL Freeware ist. Das ist meiner Meinung nach der Hauptunterschied. Wenn du Graphik programmieren willst mit einer der 2 Bibliotheken dann empfehle ich diese Seite(ist sowohl Dx als auch OpenGL abgehandelt). Bin leider nich nicht dazu gekommen es zu lesen soll aber gut sein. http://www.husser.de/index.php?site=...=overview&id=2 Grüße, Harri |
|
|
|
|
|
#3 | |
|
Inventar
![]() Registriert seit: 11.01.2003
Beiträge: 5.292
|
Zitat:
ob d3d oder openGL verwendet wird, bestimmt die im game verwendete grafikengine. d3d -> farcry openGL -> doom3 beides zur auswahl bietet z.b. die nascar racing-serie von papyrus, wobei hier openGL performanter ist. wie oben erwähnt und der name auch indiziert ist openGL 4 free.
____________________________________
pssst tanj |
|
|
|
|
|
|
#4 | |
|
Elite
![]() Registriert seit: 06.09.2003
Alter: 77
Beiträge: 1.080
|
Moin
Zitat:
HalfLife, QuakeII etc. kannst Du unter D3D und oder OpenGL laufen lassen, der Engine ist das egal Der Grafikarten Treiber macht die Musik ! Auszug aus Wikipedia OpenGL ist eine Spezifikation für ein plattform- und programmiersprachenunabhängiges API (Application Programming Interface) zur Entwicklung von 3D-Computergrafik. Der OpenGL-Standard beschreibt etwa 250 Befehle, die die Berechnung komplexer 3D-Szenen in Echtzeit erlauben. Hersteller können jedoch auch eigene Erweiterungen definieren. OpenGL ist nur ein Standard, keine Implementierung. Wie das Betriebssystem die Befehle verarbeitet, ist Sache des Grafikkarten-Treibers, der die Befehle an die Grafikkarte weitergibt (Hardware- oder auch Direct Rendering) oder auf der CPU ausführt, wenn die Grafikkarte den entsprechenden Befehl nicht bearbeiten kann (Software Rendering). Die Implementierungen werden daher in der Regel vom Hersteller zur Verfügung gestellt, es gibt jedoch auch Open Source Varianten wie z.B. die Mesa-Bibliothek. OpenGL entstand ursprünglich aus dem von Silicon Graphics (SGI) entwickelten IRIS GL. Im so genannten Fahrenheit Projekt versuchten Microsoft und SGI ihre 3D-Standards zu vereinheitlichen, das Projekt wurde jedoch aufgrund finanzieller Schwierigkeiten auf Seiten von SGI abgebrochen. X-Plane setzt zB. auf OpenGL auf gruß mike |
|
|
|
|
|
|
#5 | |
|
bitte Mailadresse prüfen!
|
Zitat:
.Wie bereits gesagt, ist OpenGL plattformunabhängig, während es DirectX nur für Windows gibt. Und OpenGL ist Opensource. Ob man sich als Hersteller für DirectX oder OpenGL entscheidet, hängt vom Anwendungsgebiet der Applikation ab. Vermutlich lassen sich beim einen manche Dinge besser realisieren, als beim anderen. Aber wenn man Applikation für andere Bestriebssysteme als Windows entwickelt, kommt DirectX ja eh nicht in Frage. Diese Schnittstellen wurden eingeführt, um - naja, um eben eine gemeinsame Schnittstelle zu haben. Früher zu DOS-Zeiten mußte man für jede Grafikkarte, Soundkarte, etc. eigene Routinen programmieren. Vielleicht erinnern sich noch einige, dass man damals stets angeben mußte, welche Grafikkarte, Soundkarte, etc. man installiert hat. Und für jede Hardware, welche die Applikation unterstützen sollte, mußten die Entwickler eigene Routinen schreiben. Mit der Einführung von DirectX bzw. OpenGL brauchten die Entwickler in ihren Applikationen nur noch diese Schnittstelle anzusteuern. Diese geben die Befehle, welche sie von der Applikation erhalten, an den Treiber weiter, und der wiederum "übersetzt" das ganze dann für die jeweilige Hardware. Jetzt wo ich das schreibe, fällt mir auf: Warum gibt es eigentlich DirectX (oder OpenGL) UND den Treiber? Warum sendet die Schnittstelle ihre Befehle nicht direkt an die Hardware, sondern nimmt den Weg über den Treiber? Vielleicht weiß das ja jemand . |
|
|
|
|
|
|
#6 |
|
Elite
![]() Registriert seit: 06.09.2003
Alter: 77
Beiträge: 1.080
|
Stichwort - Architektur der Grafikkarte,
das gab es mal bei Atari u. C-64 - da haben die Spiele den Grafik Chip direkt angesprochen. Stelle Dir vor - ein Spiel läuft nur auf der Grafik Karte X und nicht auf Y weil es keine (Schnittstellen) Standart(s) gibt Genau da setzten OpenGl und D3D auf, das ist für die Software Entwicklung ein großer Vorteil Im Prinzip müßte man also für jede Grafikkarte die Anwendungen individuell erstellen ( mein FS9 läuft auf ATI, aber nicht auf NVDIA Chip´s) Letztendlich entscheidet der Grafikkarten Treiber wesentlich über die Performance einer Anwendung gruß mike |
|
|
|
|
|
#7 | |
|
Inventar
![]() |
Zitat:
Aber meiner Meinung nach sind DX und OpenGL durchaus gleichwertig zu behandeln. Da kommt's wirklich auf die Launen des Programmierers drauf an für was er sich entscheidet. Grüße, Harri |
|
|
|
|
|
|
#8 | |
|
bitte Mailadresse prüfen!
|
Zitat:
Wo jetzt die Stärken und Schwächen von DirectX und OpenGL liegen, weiß ich aber auch nicht. Vielleicht kann ja jemand anderes etwas darüber sagen. |
|
|
|
|
|
|
#9 |
|
Inventar
![]() Registriert seit: 11.12.2001
Beiträge: 1.736
|
@Jens
"Warum sendet die Schnittstelle ihre Befehle nicht direkt an die Hardware, sondern nimmt den Weg über den Treiber?" Das ist schon immer so. Nur früher hat keiner den Treiber bemerkt, weil er entweder in der Hardware steckte (Chip) oder aber davor noch die Hardware so unflexibel war, dass sie nur für den entworfenen Zweck verwendbar war. Ein UND-Gatter braucht tatsächlich keinen Treiber. Mittlerweile ist die Hardware so komplex, dass schließlich der Treiber bestimmt, was mit der Hardware passiert. Mit einem Wort: Treiber dienen der flexiblen Anpassung der Hardware an den vorgesehenen Verwendungszweck. Und noch dies: Die CPU allein ist nicht viel wert, wenn nicht ein OS (Treiber?) bestimmt, was der Prozessor tun soll. Ich war mal überzeugt davon, dass Treiber nur das Unvermögen der Hardwarehersteller kaschiert die benötigten Funktionen richtig (fehlerfrei) in die Hardware zu implementieren.
____________________________________
Gruß Dieter |
|
|
|
|
|
#10 | |
|
bitte Mailadresse prüfen!
|
Zitat:
|
|
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|