OpenGL matrix shows when run from IDE but not otherwise ...

Started by
4 comments, last by izzo 19 years, 4 months ago
I am displaying a little space ship (triangle) using the following function:
  void DrawScene(void)
  {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);    // Clear The Screen And The Depth Buffer
    glLoadIdentity();                                      // Reset The View
    gluLookAt(0, 0, 80, 0, 0, 0, 0, 1, 0);    // This determines where the camera's position and view is

    glBegin(GL_LINES);
    glColor3ub(0, 255, 0); glVertex3f(0, 15, 0); glVertex3f(0, -15, 0);
    glEnd();

    //Draw Ship!
    glPushMatrix();
    glTranslatef(object.XPos, object.YPos, object.ZPos);
    glRotatef(object.angle, 0.0f, 0.0f, 1.0f);
    glBegin (GL_TRIANGLES);
    glColor3ub(0, 255, 0); //GREEN
    glVertex3f(-1, -1, 0);
    glColor3ub(255, 0, 0); //RED
    glVertex3f(2, 0, 0);
    glColor3ub(0, 255, 0); //GREEN
    glVertex3f(-1, 1, 0);
    glEnd();
    //If accelerating...
    if (object.accelerating)
    {
      //Draw FLAMES !!!!! :-)
      glBegin(GL_LINES);
      glColor3ub(0, 0, 255); //BLUE
      glVertex3f(-1, -1, 0);
      glVertex3f(-1, 1, 0);
      glColor3ub(0, 0, 200); //LESS BLUE
      glVertex3f(-1.4, -0.8, 0);
      glVertex3f(-1.4, 0.8, 0);
      glColor3ub(0, 0, 150); //LESS BLUE
      glVertex3f(-1.8, -0.6, 0);
      glVertex3f(-1.8, 0.6, 0);
      glColor3ub(0, 0, 100); //LESS BLUE
      glVertex3f(-2.2, -0.4, 0);
      glVertex3f(-2.2, 0.4, 0);
      glColor3ub(0, 0, 50); //LESS BLUE
      glVertex3f(-2.4, -0.2, 0);
      glVertex3f(-2.4, 0.2, 0);
      glEnd();
    }
    glRotatef(0 - object.angle, 0.0f, 0.0f, 1.0f);
    glPopMatrix();

    SDL_GL_SwapBuffers();                                  // Swap the backbuffers to the foreground
    CalculateFrameRate();
  }
There is a vertical line there for visual orientation (testing). When I compile and run the app from Dev-C++ it shows the ship (which is in a seperate matrix) and I can move it around and stuff fine. But, when I run the executable by browsing to it in windows it will not display the ship, it only shows the green line. Why will it not show anything in that matrix?? I'm very very very new to this, so please be nice :D Thanks.
__________Michael Dawson"IRC is just multiplayer notepad." - Reverend
Advertisement
When you run it from Windows rather than Dev-C++, is that a release build rather than a debug build? Are you initialising your object structure (the x-, y-, z-pos and then angle)?

cheers
sam
Quote:Original post by izzo
When you run it from Windows rather than Dev-C++, is that a release build rather than a debug build? Are you initialising your object structure (the x-, y-, z-pos and then angle)?

cheers
sam

I just click "Rebuild All" then "Compile & Run" and it works. This is what I do every time and this is the first time something like this has happened :( I have never done a debug build as far as I know.

and dont worry about the creation of the "object" object, it is initialised and some parameters set before this function is ever called.

Does anyone have anything for me :( ??
__________Michael Dawson"IRC is just multiplayer notepad." - Reverend
Just for the record, I have had a look through the project settings and enabled what I think to be the debugging stuff, which results in a larger EXE size but does not solve this problem.
__________Michael Dawson"IRC is just multiplayer notepad." - Reverend
uuuuuuuuh. for some reason it works now !!!!

I had previously rried everything, even rebooting!

Before I left this morning it was not work ...

Since I have gotten home I've recorded a session with FRAPS to show someone, and changed the following lines of code (the commented ones are the original lines, and the others are the replacement code)

//if (keys[SDLK_RIGHT]) {gameclass->SetAngle(-220 * (Timer.time_factor * 1000));}//if (keys[SDLK_LEFT]) {gameclass->SetAngle(220 * (Timer.time_factor * 1000));}if (keys[SDLK_RIGHT]) {gameclass->SetAngle(-220 * rtime);}if (keys[SDLK_LEFT]) {gameclass->SetAngle(220 * rtime);}
__________Michael Dawson"IRC is just multiplayer notepad." - Reverend
Weird... no idea :) it really just sounded like some variables that weren't being initialised. Well at least it works now :)

sam

This topic is closed to new replies.

Advertisement