Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


rodar3

Member Since 26 Apr 2013
Offline Last Active May 01 2013 12:11 PM

Posts I've Made

In Topic: OpenGL glTranslatef problems

26 April 2013 - 07:16 PM

Thanks a lot Bob. I did some reorganizing of my code and now I have something that is probably translating in some form except I have a new problem.

 

Now when I start the program the triangle shows up in front of me and I press the W key a few times to go forward. It seems as though nothing happens, the triangle doesn't change size or anything. Then all of a sudden, after pressing it a couple of times the screen goes blank. So I must be doing something wrong, and I've looked at a million tutorials and I can't seem to get anything to work. Help please :(.

 

#include "SDL.h"

#include  <windows.h>

#include  <GL/gl.h>.h>

#include  <GL/glu.h>.h>

#include  <stdio.h>


#define SCREEN_WIDTH 640

#define SCREEN_HEIGHT 480


// Variables

float moveZ = 0.0;


float camX = 0.0;

float camY = 0.0;

float camZ = 0.0;


int quit = 0;

SDL_Event event;


void init()

{

glViewport(0.0, 0.0, SCREEN_WIDTH, SCREEN_HEIGHT);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

// Left Right Bottom Top

glOrtho(0.0, SCREEN_WIDTH, 0.0, SCREEN_HEIGHT, 10.0, -10.0);

glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

glPushMatrix();

glClearColor(0.0, 0.0, 0.0, 1.0);

}


void moveCamera()

{

glMatrixMode(GL_MODELVIEW);

glPopMatrix();

glLoadIdentity();

glTranslatef(camX, camY, camZ);

glPushMatrix();

}


void render()

{

glClear(GL_COLOR_BUFFER_BIT);

glMatrixMode(GL_MODELVIEW);

glPopMatrix();

glPushMatrix();


glBegin(GL_TRIANGLES);

glVertex3f(320.0, 320.0, -5.0);

glVertex3f(200.0, 160.0, -5.0);

glVertex3f(400.0, 160.0, -5.0);

glEnd();


SDL_GL_SwapBuffers();

}


void eventCheck()

{

if(SDL_PollEvent(&event))

{

if(event.type == SDL_KEYDOWN)

{

switch(event.key.keysym.sym)

{

case SDLK_w: camZ += 1.0; break;

}

}

else if(event.type == SDL_QUIT)

{

quit = 1;

}

}

}


int main(int argc, char** args)

{

SDL_Init(SDL_INIT_EVERYTHING);

SDL_SetVideoMode(640, 480, 32, SDL_OPENGL);

init();

render();

printf("Should be triangle");


while(quit == 0)

{

eventCheck();

moveCamera();

render();

}


//SDL_Delay(2000);

SDL_Quit();

return 0;

}
.h>.h>


PARTNERS