DirectX oder OpenGL?
-
also ich persönlich bin jetzt auf D3D umgestiegen (Anfänger so zu sagen). OpenGL erscheint zwar leichter, habe aber die Erfahrung gemacht, daß diverse Grafikkarten (neuere) nicht so wollten wie es bei mir funktionierte. Außerdem wird in Zukunft OpenGL nicht mehr in diesem Umfang unterstützt. Das gillt natürlich nur für Microsoft. So wenn man neu anfängt und Windows benutzt und nur für Windows Sachen erstellt, würde ich D3D lernen. Man kommt leider um die MS Abhängingkeit nicht herum wenn man etwas weiter denkt.
-
Außerdem wird in Zukunft OpenGL nicht mehr in diesem Umfang unterstützt.
Wie? Also ich hatte bisher nie Probleme und sehe auch keine kommen...
Hab ich irgendetwas verpasst? (Jetzt mal von den Vi**a-Startproblemen abgesehen)Dx hat viele Vorteile (bringt halt Eingabe&Sound mit), aber wie bereits gesagt, du hast ein MS-abhängiges Programm und nicht jeder hat MS-Plattformen am Laufen...
Was waren denn nun deine ultimativen Gründe für Dx und gegen OGL? (Büdde kein Flamewar...
)
-
OldMan00 schrieb:
Außerdem wird in Zukunft OpenGL nicht mehr in diesem Umfang unterstützt.
Tschuldigung, aber das ist 'ne reine Stammtischparole.
-
Stimmt. Denn es wurde noch NIE so sehr unterstützt wie DX.
-
Flamewar!!

-
Macht doch nicht immer so eine Wissenschaft daraus.
Nehmt einfach irgendwas und fertig.Ansonsten hoffe ich, dass der liebe rapso das hier schließt. Wir wissen alle, wie das sonst endet.

-
wenn du ein spiel machen willst, schnapp dir ne fertige engine dafuer. alles selbst zu machen hat keinen sinn. mit d3d oder opengl dekst du gerade mal die graphik api ab, was ein bruchteil dessen ist was du brauchst um ein spiel zu machen.
-
Sag doch am besten einfach, was für ein Spiel du machen willst. Für ein 2D-Jump'n'Run wäre DirectX wohl ein bisschen übertrieben.
-
Hi,
großes PRO von DirectX gegenüber OpenGL:
Nicht nur 3D Grafik, sondern viel drumherum wenn man die D3DX Bibliothek aus dem SDK mitnutzt. Dann hat man direkt Klassen die Grafiken, 3D Modelle, ... aus Dateien laden können, eine umfassende hochoptimierte Mathebibliothek, und, und, und. Zudem ist DirectX mehr oder weniger objektorientiert, im Gegensatz zum OpenGL.
Ciao,
Stefan
-
Also Objektorentiert muss ja nicht unbedingt ein Vorteil sein, genau so, wie die ganzen beilagen nicht unbedingt ein Vorteil sein müssen. Sicher hat es Vorteile, wenn man jederzeit auf Beispiele und Zusatztools zugreifen kann, aber man wird deswegen nicht drum herum kommen, auch im Internet nach den sachen zu Suchen, die man Braucht, und je eher man das Macht, um so besser Prägt es sich ein. Und die Recourcen, die im Internet für OpenGL vorhanden sind bei weitem absolut nicht Beschränkt. Zugegeben, ich hab so gut wie keine Erfahrung mit Direct3D nur OpenGL, aber Dass OpenGL nicht objekt orientiert ist, find ich nicht sonderlich Tragisch, es Bleibt sehr übersichtlich, nur ein Namensbereich hätte ich mir anfangs gewünscht, aber an das Präfix gl von den Befehlen ist auch kein Weltuntergang.
-
Krux schrieb:
nur ein Namensbereich hätte ich mir anfangs gewünscht, aber an das Präfix gl von den Befehlen ist auch kein Weltuntergang.
namespace GL { #include <gl/gl.h> }
-
rapso schrieb:
Krux schrieb:
nur ein Namensbereich hätte ich mir anfangs gewünscht, aber an das Präfix gl von den Befehlen ist auch kein Weltuntergang.
namespace GL { #include <gl/gl.h> }
sshhht. mach das ganz schnell wieder weg

-
Also mal abgsehen davon das es lame is: geht das überhaupt?
Die Funktionen stehen doch in den Libs ohne Namespaces.
-
this->that schrieb:
Also mal abgsehen davon das es lame is: geht das überhaupt?
Ueber etwas nicht bescheid wissen, aber es als lame bezeichnen *hehehe*, entweder du bist sehr lustig, oder ich lach erst recht ueber diese hochqualitative aussage

danke
jeder darf mich hier noch einmal beschimpfen und dann aber zum topic zurueck

-
rapso schrieb:
this->that schrieb:
Also mal abgsehen davon das es lame is: geht das überhaupt?
Ueber etwas nicht bescheid wissen, aber es als lame bezeichnen *hehehe*, entweder du bist sehr lustig, oder ich lach erst recht ueber diese hochqualitative aussage

Was hat das eine mit dem anderen zu tun? Es ist nun mal in jedem Fall ein Hack, egal ob es nun geht oder nicht. Kein Grund sich hier gleich so aufzugeilen;)
-
ich bin zwar weder in opengl noch in directx der überprofi aber habe schon mit beidem gearbeitet
in directx (direct graphics /=direct 3d) hab ich mal vor längerer zeit angefangen ein 2d jump n run zu programmieren und dann etwas später nochmal dasselbe, nen partikel system ein bisschen mit 3d modellen rumprobiert und ne mini physik enginein opengl hab ich nen world of warcraft model importer geschrieben mit dem man wow modelle inklusive animation in opengl rendern kann mit shadern und auch ein partikelsystem in opengl
also ich würd sagen ich kenne mich gut aus aber würd mich längst nicht als profi bezeichnen, jedenfalls kurz und bündig wenn du ne antwor willst: opengl
wieso? weil du mit c++ arbeitest
direct rennt mittlerweile auf der .NET schiene und wenn du gesagt hättest du willst c# programmieren hätte ich dir XNA (nachfolger von managed directx) reingehämmertaber ich finde im vergleich zu unmanaged directx hat sich eigentlich entgegen meiner erwartungen opengl als einfacher zu benutzen herausgestellt, wobei es kein so großer unterschied ist
aber irgendwie ist es unter c++ angenehmer mit opengl zu arbeiten, zumindest hab ich den eindruck
wie auch immer, ich würd dir jedenfalls empfehlen trotzdem nicht c++ zu machen sondern in c# zu programmieren und XNA zu verwenden weil du dich damit wirklich aufs programmieren konzentrieren kannst und nicht auf diese ganzen speicherspiele die du in c++ hast achten musst
und als shader nimm CG von nvidia die rennen auf directx und opengl
-
this->that schrieb:
rapso schrieb:
this->that schrieb:
Also mal abgsehen davon das es lame is: geht das überhaupt?
Ueber etwas nicht bescheid wissen, aber es als lame bezeichnen *hehehe*, entweder du bist sehr lustig, oder ich lach erst recht ueber diese hochqualitative aussage

Was hat das eine mit dem anderen zu tun? Es ist nun mal in jedem Fall ein Hack, egal ob es nun geht oder nicht. Kein Grund sich hier gleich so aufzugeilen;)
dann schau doch mal in die c*-header deiner c++-implementierung rein. da finden sich reihenweise diese "hacks" wie
cstdio:
namespace std
{
#include <stdio.h>
};
-
Und wie funktioniert dann das Linken?
ein strcmp heißt dann std::strcmp, aber in der lib steht nach wie vor nur strcmp.
-
wie wäre es denn mit openGL in D anstatt C++, das hat auch automatische Speicherbereinigung. Es gibt sogar leute, die das Benutzen, und was auf die Beine gestellt haben. http://www.asahi-net.or.jp/~cs8k-cyu/index_e.html
-
Vevusio schrieb:
@topic
direct rennt mittlerweile auf der .NET schiene und wenn du gesagt hättest du willst c# programmieren hätte ich dir XNA (nachfolger von managed directx) reingehämmertSo eine falsche Aussage kann man natürlich nicht stehen. DirectX rennt NICHT auf der .Net Schiene. Die .NET Version von DX war stets eine Alternative zum nativen DX. Seit der Begrabung von MDX, der Einführung von XNA und der Entscheidung, dass es DX10 nur noch nativ gibt, ist managed DX effektiv tot (XNA ist NICHT gleichzusetzen mit MDX).
Und die Aussage, dass sich unter C++ mit OpenGL leichter entwickeln lässt ist angesichts des veralteten prozeduralen Designs von OpenGL und des objektorientierten Aufbaus von DX schon eine Farce;)