Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
12.07.2003, 21:35
snoopdog



Hi, was bringen diese Pixelformate bei OpenGL und was bringen sie?
Hab mal versucht openGL in die MFC einzubinden. Ich erstelle per Klic kauf nen Button nen Fenster...so und darin soll dann halt openGLÖ verfügbar sein, das Fenster wird auch erstellt, doch es wird nix angezeigt, der Hintergrund wird nicht eingefärbt. Kann es daran liegen,das ich keien Pixelformate nutze?

Quellcode:BOOL COpenGL::InitOpenGL()
{
    if(Create(NULL,"OpenGL-Fenster",WS_OVERLAPPEDWINDOW,CRect(0,0,400,400),NULL,NULL,WS_EX_TOPMOST,NULL))
    {
        this->HelloOpenGL();
        return TRUE;
    }
    return FALSE;
}

BOOL COpenGL::HelloOpenGL()
{
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
//    gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);

    glMatrixMode(GL_MODELVIEW);                            // Select The Modelview Matrix
    glLoadIdentity();
    glClearColor(1.0f,1.0f,0.0f,1.0f);
    return TRUE;

}
die erste Methode wird aufgerufen um das Fenster zu öffnen und die 2 ist eben dafür da den Hintergrund einzufärben.
nur es tut sich rein gar nix....

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
001
15.07.2003, 16:21
[RMen]OneStone



Tutorial (mit ein paar Rechtsschreibfehlern...)

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
002
15.07.2003, 17:22
Onkel Dittmeyer



Zitat:
In diese Struct schreiben wir die Informationen, die wichtig sind, damit unser OpenGL Programm ordnungsgemäß läuft.
Das beantwortet aber nicht wirklich seine erste Frage...

--

zum Seitenanfang zum Seitenende Profil || Suche
003
15.07.2003, 21:24
blair



black braucht keine fragen zu beantworten. black ist ein genie

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
004
16.07.2003, 14:14
[RMen]OneStone



Jop.

[edit]
Naja, vielleicht doch mal was konstruktives:
In dieser struct werden einige Einstellungen zu den Puffern von OpenGL vorgenommen (und auch von Windows), also z.B. ob Double-Buffering (oder sogar Tripple-Buffering), wie viel bits der Z-Buffer hat, Stencil Buffer etc...
[/edit]

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 16.07.2003 um 14:16 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
19.07.2003, 22:17
snoopdog



also ist es irgendwo gar nich soo wichtig, jedenfalls für den Anfang? Nur warum funzt mein OpenGL programm noch nich??? Hab den HelloOpenGL code nochma überarbeitet, sieht nun so aus:
Quellcode:BOOL COpenGL::HelloOpenGL()
{
    CRect clientrect;
    GetClientRect(&clientrect);
    GLsizei width = (GLint) clientrect.right;
    GLsizei height = (GLint) clientrect.bottom;
    GLdouble ClientRatio=(GLdouble) width/height;
    GLdouble ClipSize = 0.8;

    wglMakeCurrent(wglGetCurrentDC(),wglGetCurrentContext());

    glOrtho(-ClipSize,+ClipSize,-ClipSize,+ClipSize,-ClipSize*100.0,+ClipSize*100.0);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glViewport(0,0,width,height);
    
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glClearColor(1.0f,1.0f,0.0f,0.0f);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);



    return true;
}
also hole mir jetzt auch erstmal nen RenderContext, doch es geht immenroch nciht *heul*

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
006
19.07.2003, 23:35
Onkel Dittmeyer



1. Solltest du mal bevor du dich an die Modularisierung deines Frameworks setzt das selbige erst mal zum laufen bringen. Du kannst noch so tolle Klassen dafür schreiben... solange das elementare nicht funktioniert bringt dich das net weiter. =)
2. Die schöne MessageBox(...) Funktion von Windows in Verbindung mit der GetLastError() ist wunderbar zum Debuggen geeignet. Du kannst aber auch genauso gut den Debugger deiner IDE verwenden, sofern vorhanden.
Ne Möglichkeit wäre noch, dass du dir erstmal ein Tutorial Source kopierst (der funzt 100 pro) und dann daraus deine Module entwickelst. Schritt für Schritt...
Wenn man alles Hals über Kopf machen will gibts immer Probleme.

--

zum Seitenanfang zum Seitenende Profil || Suche