Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » OpenGL » glaux.h ??

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
25.11.2004, 23:10 Uhr
Hans
Library Walker
(Operator)



Zitat von CaesarCortezz:
oh man so viel einsatz hätt ich ja jetzt nicht erwartet

Hi,

nun ja, da ich mich auch mal näher mit OGL beschäftigen will, interessierte mich das auch. Sonst hätte ich bestimmt nicht so lange gesucht.

Zitat:
vielen dank nochmal an alle

Bitte sehr.

Hans


P.S. Hast Du die Sachen inzwischen mal ohne glaux getestet? - Es würde mich interessieren, was dabei heraus kam.
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
26.11.2004, 03:50 Uhr
CaesarCortezz
minderer Student


nya also es hat nich gefunzt.
Der Compiler beschwert sich immernoch über eine fehlende deklaration von width und heigth, k.ah warum.
Ich bin im moment noch auf der suche nach einem tutorial das opengl ohne glaux sondern mit gl und glu erklärt.
Ansonsten habe ich glut auf meinem rechner als biliothek noch nicht entdeckt
Trotzdem wäre es super wenn ich bald anfangen könnte opengl zu lernen, da es von anfang an mein ziel war...
Cya Caesar
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
26.11.2004, 08:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


sag mal den error, ich denke das hat wenig mit glaux zu tun? Ich hatte bisher mit den NEHE-Tuts keine Probleme. (ok mir hat auch kein glaux-header gefehlt, aber den braucht man eigentlich nie)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
26.11.2004, 16:07 Uhr
CaesarCortezz
minderer Student



C++:
#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>
// #include <gl\glaux.h>

HGLRC hRC=NULL;
HDC hDC=NULL;
HWND hWnd=NULL;
HINSTANCE hInstance;

bool keys[256];
bool active=true;
bool fullscreen=false;

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

GLvoid ReSizeGLScene(GLsizei width, GLsizei height) {
    height=1;
}

glViewport(0, 0, width, height);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, (GLFloat)width/(GLfloat)height0.1f, 100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

int InitGL(GLvoid) {
    glShadeModel(GL_SMOOTH);
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    glClearDepth(1.0f);
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LEQUAL);
    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
    return true;
}

int glDrawScene(GLvoid) {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    return true;
}

GLvoid KillGLWindow(GLvoid) {
    if (fullscreen) {
        ChangeDisplaySettings(NULL, 0);
        ShowCursor=true;
    }
    if(hRC) {
        if(!wglMakeCurrent(NULL,NULL)) {
            MessageBox(NULL, "Zurückkehren auf den Desktop fehlgeschlagen", "Shutdown Error", MB_OK | MB_ICONINFORMATION);
        }
        hRC=NULL;
    }
    if (!wglDeleteContext(hRC)) {
        MessageBox(NULL, "Release device context failed", "Shutdown error", MB_OK | MB_ICONINFORMATION);
        hDC=NULL;
    }
    if (hWnd && !DestroyWindow(hWnd)) {
        MessageBox(NULL, "Could not release hWnd", "Shutdown error", MB_OK | MB_ICONINFORMATION);
        hInstance=NULL;
    }
}

bool CreateGLWindow(char* title, int width, int heigth, int bits, bool fullscreenflag) {
    GLuint PixelFormat;
    WNDCLASS wc;
    DWORD dwExStyle;
    DWORD dwStyle;
    RECT WindowRect;
    WindowRect.left=(long)0;
    WindowRect.right=(long)width;
    WindowRect.top=(long)0;
    WindowRect.bottom=(long)heigth;
    fullscreen=fullscreenflag;

    hInstance        = GetModuleHandle(NULL);
    wc.style        = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
    wc.lpfnWndProc    = (WNDPROC) WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance    = hInstance;
    wc.hIcon        = LoadIcon(NULL, IDI_WINLOGO);
    wc.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground= NULL;
    wc.lpszMenuName = NULL;
    wc.lpszClassName= "OpenGL";

    if (!RegisterClass(&wc)) {
        MessageBox(NULL, "failed to register wc", "Shutdown Error", MB_OK | MB_ICONEXCLAMATION);
        return false;
    }
    if (fullscreen) {
        DEVMODE dmScreenSettings;
        memset(&dmScreenSettings, 0, sizeof(dmScreenSettings));
        dmScreenSettings.dmSize            = sizeof(dmScreenSettings);
        dmScreenSettings.dmPelsWidth    = width;
        dmScreenSettings.dmPelsHeight    = height;
        dmScreenSettings.dmBitsPerPel    = bits;
        dmScreenSettings.dmFields        = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;

        if(ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL) {
            if (MessageBox(NULL, "ERROR, wollen sie ein Fenster?", "Jay-GL", MB_YESNO|MB_ICONEXCLAMATION)==IDYES) {
                fullscreen=false;
            }
            else {
                MessageBox(NULL, "Program is shuting down", "ERROR", MB_OK|MB_ICONSTOP);
                return false;
            }
        }
    }
    if (fullscreen) {
        dwExStyle    = WS_EX_APPWINDOW;
        dwStyle        = WS_POPUP;
        ShowCursor    = false;
    }
    else {
        dwExStyle    = WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;
        dwStyle        = WS_OVERLAPPEDWINDOW;
    }
    AdjustWindowRectEx(&WindowRect, dwStyle, false, dwExStyle);

    if (!(hWnd=CreateWindowEx(        dwExStyle,
                                    "OpenGL",
                                    title,
                                    WS_CLIPSIBLINGS |
                                    WS_CLIPCHILDREN |
                                    dwStyle,
                                    0, 0,
                                    WindowRect.right-WindowRect.left,
                                    WindowRect.bottom-WindowRect.top,
                                    NULL,
                                    NULL,
                                    hInstance,
                                    NULL))) {
        KillGLWindow();
        MessageBox(NULL, "Fenster kann net erstellt werden", "ERROR", MB_OK|MB_ICONEXCLAMATION);
        return false;
    }
    
    static PIXELFORMATDESCRIPTOR pfd= {
        sizeof(PIXELFORMATDESCRIPTOR),
        1,
        PFD_DRAW_TO_WINDOW |
        PFD_SUPPORT_OPENGL |
        PFD_DOUBLEBUFFER,
        PFD_TYPE_RGBA,
        bits,
        0, 0, 0, 0, 0, 0,
        0,
        0,
        0,
        0, 0, 0, 0,
        16,
        0,
        0,
        PFD_MAIN_PLANE,
        0,
        0, 0, 0
    };

    if(!(hDC=GetDC(hWnd)) {
        KillGLWindow();
        MessageBox(NULL, "Device Context fucked up", "ERROR", MB_OK|MB_ICONEXCLAMATION);
        return false;
    }
    if (!(PixelFormat=ChoosePixelFormat(hDC,&pfd))) {
        KillGLWindow();
        MessageBox(NULL, "Pixel Format fucked up", "ERROR", MB_OK|MB_ICONEXCLAMATION);
        return false;
    }
    if (!SetPixelFormat(hDC,PixelFormat, &pfd)) {
        KillGLWindow();
        MessageBox(NULL, "Pixel Format set fucked up", "ERROR", MB_OK|MB_ICONEXCLAMATION);
        return false;
    }
    if (!(hRC=wglCreateContext(hDC))) {
        KillGLWindow();
        MessageBox(NULL, "Rendering Context fucked up", "ERROR", MB_OK|MB_ICONEXCLAMATION);
        return false;
    }
    if (!wglMakeCurrent(hDC, hRC)) {
        KillGLWindow();
        MessageBox(NULL, "Rendering Context fucked up", "ERROR", MB_OK|MB_ICONEXCLAMATION);
        return false;
    }
    ShowWindow(hWnd, SW_SHOW);
    SetForegroundWindow(hWnd);
    SetFocus(hWnd);
    ReSizeGLScene(width, height);

    if (!InitGL()) {
        KillGLWindow();
        MessageBox(NULL, "Initialisation fucked up", "ERROR", MB_OK|MB_ICONEXCLAMATION);
        return false;
    }
    return true;
}

LRESULT CALLBACK WndProc(        HWND    hWnd;
                                UINT    uMsg;
                                WPARAM    wParam;
                                LPARAM    lParam)
    {
                                    switch(uMsg) {
                                    case WM_ACTIVATE: {
                                        if(!HIWORD(wParam)) {
                                            activate=true;
                                        }
                                        else {
                                            activate=false;
                                        }
                                        return 0;
                                                      }
                                    case WM_SYSCOMMAND: {
                                        switch (wParam) {
                                        case SC_SCREENSAVE:
                                        case SC_MONITORPOWER:
                                            return 0;
                                        }
                                        break;
                                                        }






errors:

Zitat:

21 Dtools\C++Dev5\Projekte\main.cpp `width' was not declared in this scope
21 Dtools\C++Dev5\Projekte\main.cpp `height' was not declared in this scope
21 Dtools\C++Dev5\Projekte\main.cpp ISO C++ forbids declaration of `glViewport' with no type




und so geht das ne weile...
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
26.11.2004, 16:32 Uhr
typecast
aka loddab
(Operator)


Dein Problem ist das, dass dieser Codeteil:


C++:
glViewport(0, 0, width, height);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, (GLFloat)width/(GLfloat)height0.1f, 100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();



in keiner Funktion steht. Der Compiler denkt also, dass du eine Funktion glViewport deklarieren willst. Dann sucht er nach einem Typ 0 und den Typen width und height. Solche Typen kennt er aber nicht. Ich wuerde mal vermuten, dass die schliessende Klammer, der Funktion ReSizeGLScene nach das glLoadIdentity gehoert.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
26.11.2004, 16:43 Uhr
CaesarCortezz
minderer Student


hmm das könnte gestimt haben aber es bleiben immernoch zu viele fehler. ich versuch nochmal alles neu zu kopieren...
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
26.11.2004, 19:29 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


du musst das so schreiben den oberen teil:


C++:
GLvoid ReSizeGLScene(GLsizei width, GLsizei height) {
    height=1;
//} hier weg

glViewport(0, 0, width, height);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, (GLFloat)width/(GLfloat)height0.1f, 100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
} // da hin


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
26.11.2004, 20:17 Uhr
CaesarCortezz
minderer Student


ich habe es nun noch einmal neu kopiert und die klammer war wirklich falsch. nun ist meine fehlerzahl von ca. 20 auf einen geschrumpft und zwar:
255 D: \tools\C++Dev5\Projekte\main.cpp syntax error at end of input
ich habe aber keine Ahnung wieso.
meine letzten zeilen code sehen folgendermaßen aus.


C++:
case WM_SYSCOMMAND:                        // Intercept System Commands
        {
            switch (wParam)                        // Check System Calls
            {
                case SC_SCREENSAVE:                // Screensaver Trying To Start?
                case SC_MONITORPOWER:                // Monitor Trying To Enter Powersave?
                return 0;                    // Prevent From Happening
            }
            break;                            // Exit
    }



ich habe bereits versuch klammern hinzuzufügen, allerdings ohne wirkung...
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
26.11.2004, 21:31 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


fehlen halt wieder ein paar klammern, bzw zwei

Die letzte klammer ist momentan die klammer vom case-block, danach fehlt nochmal eine für den switch block und dann nochmal eine für die funktion
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
27.11.2004, 11:54 Uhr
CaesarCortezz
minderer Student


hmm dann fehlt bei meinem NeHE tut anscheinend was *doh*
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ OpenGL ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: