DirectX vs OpenGL



  • durito schrieb:

    DiectX ist für Spiele. Spiele sind für Kinder.

    Also hier in dem Forum bist Du dann wahrscheinlich der einzige "Mann"...

    Kommst Du Dir nicht etwas einsam vor?!? 😃



  • Blue-Tiger schrieb:

    wusstest du dass C nichtmal 40 Schluesselwoerter hat 😉

    Doch so viel? Hätte jetzt glatt auf weniger getippt. 🙂



  • groovemaster schrieb:

    Blue-Tiger schrieb:

    wusstest du dass C nichtmal 40 Schluesselwoerter hat 😉

    Doch so viel? Hätte jetzt glatt auf weniger getippt. 🙂

    soso... wenigert als nichtmal 40. 😃



  • Aber wenn es so wenige Schlüsselwörter gibt dann ist das absolut Fantastisch!!!, dann ist doch nur noch die Frage der Komplexität!!!! Und ich denke in Sachen Komplexität bin ich absolut genial! Weil da müsste man nicht soviele verschiedene Legobausteine kennen, man nimmt immer wieder dieselben Bausteine und bastelt nen Supermonstrum draus! Und ich hab früher als Kleinkind immer Monstrüme drausgebaut. z.b. Vollautomatische Legokatapult die automatische Steine lädt und 15 meterweit abschießt! Und mein Gedächnis bleibt bewahrt! Man OpenGL ist absolut genial!!!!



  • troll -.-



  • Sgt. Nukem schrieb:

    durito schrieb:

    DiectX ist für Spiele. Spiele sind für Kinder.

    Also hier in dem Forum bist Du dann wahrscheinlich der einzige "Mann"...

    Kommst Du Dir nicht etwas einsam vor?!? 😃

    *g*
    Ne, jetzt sind wir ja schon 2 echte Männer, BlackKnight und ich :p 😉 😃

    Ist eben das einzige wichtige Argument, welches noch nicht genannt wurde.. Ausser natürlich, dass OpenGL weniger Schlüsselwörter hat als DX.. hehe 😉



  • Schlüsselwörter?!? 😕

    Is' ja auch kein Wunder:

    Wenn ich in DirectX ein fettes Model reinladen will, mach' ich

    LoadXMeshFromFile("kuhlesspaceship.x");

    und ich hab's!

    Unter OpenGL les' ich mir erstmal zig Tutorials bei NeHe durch, wie man denn den perfekten Loader schreiben könnte.
    Such' bei wotsit nach Fileformats und scheitere letztendlich.

    Klar, das erste Dreieck ist in OpenGL einfacher. Aber dann hört's auch auf. 🤡



  • Sgt. Nukem schrieb:

    Wenn ich in DirectX ein fettes Model reinladen will, mach' ich
    LoadXMeshFromFile("kuhlesspaceship.x");
    und ich hab's!

    ...

    Klar, das erste Dreieck ist in OpenGL einfacher. Aber dann hört's auch auf. 🤡

    1. Sowas is grade mal ne erleichterung für anfänger, die sich keinen eigenen Modelloader schreiben wollen, (Kinder - API lol) Alle richtigen spiele haben sowieso eigene Modelformate.

    2. Also Fazit:
      Das erste Mesh ist in DX einfacher (wiegt der Code für nen kleinen Modelloader eigentlich den DX initcode auf). Aber dann hört's auch auf.

    Und ohne an dem BS Glaubenskrieg Teilnehmen zu wollen, aber:
    Wieso nur für ein BS schreiben, wenn man mit OpenGL gleich ein zweites, ach sorry, unsinn, so ziemlich jedes Betriebssystem mit Graphikmöglichkeit dazubekommt?
    Und wenn hier schon manche nicht Erleuchtete Linux als unwichtig abstempeln, was ist dann mit Mac?



  • Sgt. Nukem schrieb:

    Schlüsselwörter?!? 😕

    Is' ja auch kein Wunder:

    Wenn ich in DirectX ein fettes Model reinladen will, mach' ich

    LoadXMeshFromFile("kuhlesspaceship.x");

    und ich hab's!

    Unter OpenGL les' ich mir erstmal zig Tutorials bei NeHe durch, wie man denn den perfekten Loader schreiben könnte.
    Such' bei wotsit nach Fileformats und scheitere letztendlich.

    Klar, das erste Dreieck ist in OpenGL einfacher. Aber dann hört's auch auf. 🤡

    aber solche *.x einfach reinladen wären dann "Ghost" also nicht anfassbar.
    Und ich denk für OpenGL gibts Module dafür mit dem man auch einfach so reinpasten kann. Achja obwohl ich Anfänger bin hab ich mein Engine so programmiert dass es JediKnight Map Daten auslesen und darstellen kann.
    Also so schwer ist das nixht



  • Ach Leute,

    dieses Gezänke bringt doch nichts.
    Letztendlich nimmt doch sowieso jeder die API, die ihm am sympathischsten ist.

    Gearscht sind nur die Leute, die durch eine Projektarbeit zur Arbeit mit OGl genötigt werden, wo sie doch DX sooo lieeben. 😡

    Naja, und für die Eintagsfliegen ist es erst recht egal.

    PS: Noch jemand Hunger auf Pasta gekriegt? 😉



  • Wieso Pasta?



  • Krieg ich immer Hunger drauf, wenn ich irgendwo was von reinpasten lese.
    http://de.wikipedia.org/wiki/Appetenzverhalten



  • ChockoCookie schrieb:

    Alle richtigen spiele haben sowieso eigene Modelformate.

    Du hast keine Ahnung.

    ChockoCookie schrieb:

    wiegt der Code für nen kleinen Modelloader eigentlich den DX initcode auf

    Du hast keine Ahnung.

    ChockoCookie schrieb:

    Wieso nur für ein BS schreiben, wenn man mit OpenGL gleich ein zweites, ach sorry, unsinn, so ziemlich jedes Betriebssystem mit Graphikmöglichkeit dazubekommt?

    Du hast keine Ahnung.

    xBlackKnightx schrieb:

    aber solche *.x einfach reinladen wären dann "Ghost" also nicht anfassbar.

    Du hast keine Ahnung.

    Bye, TGGC (Wähle deine Helden)



  • TGGC schrieb:

    ChockoCookie schrieb:

    Wieso nur für ein BS schreiben, wenn man mit OpenGL gleich ein zweites, ach sorry, unsinn, so ziemlich jedes Betriebssystem mit Graphikmöglichkeit dazubekommt?

    Du hast keine Ahnung.

    *lol*
    Du hast keine Ahnung.

    Ist schon lustig wie dieser sinnlose Thread jede Woche erneut von 0 weg ausgefochten wird 🙂

    Übrigens, ATI ist blöd, nvidia ist cool. :p



  • durito schrieb:

    Übrigens, ATI ist blöd, nvidia ist cool. :p

    Du hast keine Ahnung.



  • ChockoCookie schrieb:

    1. Also Fazit:
      Das erste Mesh ist in DX einfacher (wiegt der Code für nen kleinen Modelloader eigentlich den DX initcode auf).

    Keine Ahnung was für ein DX Du so benutzt... 😕

    Unter Windows mach' ich (ohne Fehlerbehandlung):

    m_lpD3D = Direct3DCreate9(D3D_SDK_VERSION);
    
    D3DPRESENT_PARAMETERS PParams;
    ZeroMemory(&PParams, sizeof(PParams));
    
    PParams.SwapEffect	= D3DSWAPEFFECT_DISCARD;
    PParams.hDeviceWindow	= hWnd;
    PParams.Windowed	= true;
    
    PParams.BackBufferWidth		= 800;
    PParams.BackBufferHeight	= 600;
    PParams.BackBufferFormat	= D3DFMT_A8R8G8B8;
    
    m_lpD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &PParams, &m_lpD3DDevice);
    

    und kann dann rendern.

    Für OpenGL mach' ich:

    PIXELFORMATDESCRIPTOR pfd;
    int iFormat;
    
    *hDC = GetDC(hWnd);
    
    ZeroMemory(&pfd, sizeof (pfd));
    pfd.nSize = sizeof(pfd);
    pfd.nVersion = 1;
    pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
    pfd.iPixelType = PFD_TYPE_RGBA;
    pfd.cColorBits = 24;
    pfd.cDepthBits = 16;
    pfd.iLayerType = PFD_MAIN_PLANE;
    
    iFormat = ChoosePixelFormat(*hDC, &pfd);
    SetPixelFormat(*hDC, iFormat, &pfd);
    
    *hRC = wglCreateContext(*hDC);
    wglMakeCurrent(*hDC, *hRC);
    

    Ich kann da jetzt nicht _SOOO_ den Unterschied sehen (ausser daß die GL-Initialisierung noch 4 Zeilen länger ist 😉 )... ➡ 🙄



  • DX9 hat aber lange Wörter!



  • ROFL - DirectX hat generell den längeren... 🤡



  • Sgt. Nukem schrieb:

    ROFL - DirectX hat generell den längeren... 🤡

    😃



  • ROFL 😃

    Killerargument gefunden. Ich geb auf. 🤡


Anmelden zum Antworten