OPenGL to DirectX9



  • Ich habs schon versucht, doch ich bin dabei gescheitert, was z.b. die FUnktion PIXELFORMATDESCRIPTOR zumbeispiel bewirkt. bei DirectX kenn ich die Funktionen ja, aber net bei OpenGL und bei DX kann man die ja auch in der Doku nachgucken aber was ist bei OpenGL?



  • aber was ist bei OpenGL?

    Da lädt man sich das OGl Red Book runter.



  • (D)Evil schrieb:

    Ich habs schon versucht, doch ich bin dabei gescheitert, was z.b. die FUnktion PIXELFORMATDESCRIPTOR zumbeispiel bewirkt. bei DirectX kenn ich die Funktionen ja, aber net bei OpenGL und bei DX kann man die ja auch in der Doku nachgucken aber was ist bei OpenGL?

    Die Init-Scheisse von OpenGL unter Windows ist in der Tat grausam. 👎

    Einfach schön streamlined DirectX initialisieren. 💡

    PIXELFORMATDESCRIPTOR ist halt so'n mega struct, mit dem Du letztendlich den Videomodus setzt. Also RGB Tiefe, Depthbuffer, etc. pp



  • Ich hab jetzt mal DirectX und ne Engine initialisiert und dann noch nen Dreick ausgegeben, doch ich hab das Problem, das ich 4 Davon abgeleitete Klassen habe, die auf die Render Funktion zugreifen. Wenn ich die renderFunktion aus irgend einer abgeleiteten Klasse starte, stürzt das Programm genau an dieser stelle ab. Wie muss ich die RenderFunktion schreiben, damit mir der gram net abstürzt? 🙂



  • Meine Kristallkugel sagt: mach weiter!

    Bye, TGGC (Pipe my World.)



  • BOOL CDirectXWnd::RenderScene()
    {
    	HRESULT		hResult;
    	tbMatrix	mRotation;		// Rotationsmatrix
    	tbMatrix	mTranslation;	// Translationsmatrix
    	tbMatrix	mWorld;			// Vereinende Weltmatrix
    
    	// Rotations- und Translationsmatrix des Dreiecks erzeugen
    	mRotation = tbMatrixRotationY(TB_DEG_TO_RAD(g_fTime * 90.0f));
    	mTranslation = tbMatrixTranslation(tbVector3(0.0f, 0.0f, 2.0f));
    
    	// Beide Matrizen kombinieren und als Weltmatrix einsetzen
    	mWorld = mRotation * mTranslation;
    	m_pd3dDevice->SetTransform(D3DTS_WORLD, (D3DMATRIX*)(&mWorld));
    
    	// -------------------------------------------------------------
    
    	// Den Bildpuffer und den Z-Buffer leeren
    	if(FAILED(hResult = m_pd3dDevice->Clear(0,
    											NULL,
    											D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
     											D3DCOLOR_XRGB(0, 0, 63),
     											1.0f,
     											0)))
    	{
    		// Fehler beim Leeren!
    		MessageBox("Fehler beim Leeren der Puffer", "Fehler", MB_OK | MB_ICONEXCLAMATION);
    		TB_ERROR_DIRECTX("m_pd3dDevice->Clear", hResult, TB_STOP);
    	}
    
    	// Szene beginnen
    	m_pd3dDevice->BeginScene();
    
    	// Nun das Dreieck zeichnen
    	if(FAILED(hResult = m_pd3dDevice->DrawPrimitiveUP(D3DPT_TRIANGLELIST,	// Dreiecksliste
    											          1,					// 1 Dreieck
     													  g_aTriangleVertex,	// Vertexdaten
    													  sizeof(SVertex))))	// Vertexgröße
    	{
    		// Fehler beim Zeichnen!
    		MessageBox("Fehler beim Zeichnen des Dreiecks", "Error", MB_OK | MB_ICONEXCLAMATION);
    		TB_ERROR_DIRECTX("m_pd3dDevice->DrawPrimitiveUP", hResult, TB_STOP);
    	}
    
    	// Szene beenden
    	m_pd3dDevice->EndScene();
    
    	// Der große Moment: den Bildpuffer sichtbar machen
    	m_pd3dDevice->Present(NULL, NULL, NULL, NULL);
    
    	return TB_OK;
    }
    

    Das ist die Render Funktion.



  • Sgt. Nukem schrieb:

    Die Init-Scheisse von OpenGL unter Windows ist in der Tat grausam. 👎

    Einfach schön streamlined DirectX initialisieren. 💡

    Jetzt hör mal auf, das du immer gegen OpenGL flamest, jedes Kind weis, das OpenGL hundert bis hundertfünfzigmal besser als DirectX ist !!!!!!11
    Ausserdem benutzen nur von M$ gehirngewaschene Windoof Jünger diesen DirectWitz. Linux ruuulzzz!!!!!!!!!!!!!!!!!!!!!111
    Versetz dich doch mal in die Lage, von den armen Leuten, die Linux entwickeln, und du würden dich so beleidigen!!!!11
    Ich kannsr eionfach nicht mehr hörenn. Nieder mit Billy Boy und den ganzen faschistischen Microblöd schweinekram!!!!!11eins
    Ausserdem ist OpenGL viel besser als C#.
    Ich hoffe nur, das bald alle die Wahrheit erkennen, und nur mehr Linux benutzen und dann werden solche Flamer gegen OpenGL einfach asu dem Formu geworfenn!!!!!111einself 🤡



  • Genau, jedes Kind, vor allem die mal den Sample Code für ein Dreieck c&p haben und an alle Sätze min 3 ! hängen. 😎

    Bye, TGGC (Pipe my World.)



  • Hey mann, meine OpenGL Dreiecke sind tausendmal besser, als deine DirectSuxx Dreiecke, weil ich hab nähmlich Hardwareunterstützung!!!! Und ausserdem brauche ich nur 5 Zeilen um ein Dreieck zu rendern und du vorher hunderte Zeilen von absolut unsinnigem, nichtsnutzigen Init Code, der nur die GraKa ausbremst!!! :p

    //Edit

    Und ausserdem ruckeln die Sachen, die ich für Windoof schreibe immer total, das beweist das M$ absolut unfähig und geldgeil ist.

    (oh gott, ich kann bald nicht mehr) 🙂



  • ChockoCookie schrieb:

    Und ausserdem ruckeln die Sachen, die ich für Windoof schreibe immer total, das beweist das M$ absolut unfähig und geldgeil ist.

    Stimmt genau. Und ich bin mit meinem Golf schon viermal gegen einen Baum gefahren, das beweist das VW keine vernünftigen Autos bauen kann.



  • Killing me softly schrieb:

    Stimmt genau. Und ich bin mit meinem Golf schon viermal gegen einen Baum gefahren, das beweist das VW keine vernünftigen Autos bauen kann.

    Nein, das beweist das heute jeder Idiot einen Führerschein bekommt. 😉 :p



  • ChockoCookie schrieb:

    Jetzt hör mal auf, das du immer gegen OpenGL flamest, jedes Kind weis, das OpenGL hundert bis hundertfünfzigmal besser als DirectX ist !!!!!!11
    Ausserdem benutzen nur von M$ gehirngewaschene Windoof Jünger diesen DirectWitz. Linux ruuulzzz!!!!!!!!!!!!!!!!!!!!!111
    Versetz dich doch mal in die Lage, von den armen Leuten, die Linux entwickeln, und du würden dich so beleidigen!!!!11
    Ich kannsr eionfach nicht mehr hörenn. Nieder mit Billy Boy und den ganzen faschistischen Microblöd schweinekram!!!!!11eins
    Ausserdem ist OpenGL viel besser als C#.
    Ich hoffe nur, das bald alle die Wahrheit erkennen, und nur mehr Linux benutzen und dann werden solche Flamer gegen OpenGL einfach asu dem Formu geworfenn!!!!!111einself 🤡

    ROFLMAO!! 😃 😃 👍



  • OpenGL ist für nen arsch. Die Renderfunktion hab ich noch mal komplett neugemacht. man kann das auch anders machen, schneller und besser. Chocko Cookie, wenn du so viel gegen Windows hast, dann informier dich endlich aml richtig, denn was hast du gegen Windows, etwa die Bugs? Oh man, dann überleg erstmal was du da anmeckerst, erst denken, dan schreiben, gibt da so nen spruch der so geht, oder irre ich mich da?

    Nun, wollen wir lieber zu meinen Problem zurück kommen als hier zu streiten. Also, ich bin gerade nen paar Funktionen am über schrieben, hoffe mal das es dann funktioniert. Ich halt euch auf dem laufenden.



  • (D)Evil schrieb:

    OpenGL ist für nen *****. Die Renderfunktion hab ich noch mal komplett neugemacht. man kann das auch anders machen, schneller und besser. Chocko Cookie, wenn du so viel gegen Windows hast, dann informier dich endlich aml richtig, denn was hast du gegen Windows, etwa die Bugs? Oh man, dann überleg erstmal was du da anmeckerst, erst denken, dan schreiben, gibt da so nen spruch der so geht, oder irre ich mich da?

    Nun, wollen wir lieber zu meinen Problem zurück kommen als hier zu streiten. Also, ich bin gerade nen paar Funktionen am über schrieben, hoffe mal das es dann funktioniert. Ich halt euch auf dem laufenden.

    LOL ich glaube, die standardmässige prozedur:

    ---<lesen>----<denken>----<antworten>------
    

    sollte umgeändert werden in

    ---<lesen>----<denken>----<antworten>------
     |                      |_____________________________________________________________
     |                                                                                    |
     --<nochmal lesen bis man alles verstanden und allfällige ironie herausgefiltert hat>-
    

    Noch was: die smileys hier dienen nicht nur zur verzierung (obwohl sie einen unschätzbaren ästhetischen Wert haben)

    //edit

    Und nein, OpenGL ist nicht fürn *****, genau so wenig wie DX (aber doch ein bisschen weniger 😉 scnr)


Anmelden zum Antworten