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();
}
OpenGL matrix shows when run from IDE but not otherwise ...
I am displaying a little space ship (triangle) using the following function:
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.
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
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 :( ??
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.
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)
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);}
Weird... no idea :) it really just sounded like some variables that weren't being initialised. Well at least it works now :)
sam
sam
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement