rodar3

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

105 Neutral

About rodar3

  • Rank
    Newbie
  1. 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 :(.   [source]#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; }[/source].h>.h>
  2. Hi, I've been doing some OpenGL with SDL and I'm slowing moving towards programming the camera movement to match that of an FPS. Basically what I have so far is a triangle being rendered in front of the viewport and I wanted to make the camera move forward (or any way really) to the triangle and then slowly add more directions. Basically taking it one step at a time.   Here's the problem. It won't move. No matter what I do, I can't seem to get the camera to translate anywhere. I've looked online and I can't seem to pinpoint where my mistake(s) are. I'll be continuing to look for the answer but I thought it might be really simple and someone could help me out here.   Here's my code...   [source]#include "SDL.h" #include <windows.h> #include <GL/gl.h> #include <GL/glu.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; void init() { glMatrixMode(GL_PROJECTION); glLoadIdentity(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glClearColor(0.0, 0.0, 0.0, 1.0); glClear(GL_COLOR_BUFFER_BIT); // Left Right Bottom Top glOrtho(0.0, SCREEN_WIDTH, 0.0, SCREEN_HEIGHT, 1.0, -1.0); glPushMatrix(); } void triangle() { //draw triangle glBegin(GL_TRIANGLES); glVertex3f(320.0, 320.0, 0.0); glVertex3f(200.0, 160.0, 0.0); glVertex3f(400.0, 160.0, 0.0); glEnd(); } void moveCamera() { glLoadIdentity(); glTranslatef(camX, camY, camZ); SDL_GL_SwapBuffers(); } int main(int argc, char** args) { int quit = 0; SDL_Event event; SDL_Init(SDL_INIT_EVERYTHING); SDL_SetVideoMode(640, 480, 32, SDL_OPENGL); init(); triangle(); SDL_GL_SwapBuffers(); while(quit == 0) { if(SDL_PollEvent(&event)) { if(event.type == SDL_KEYDOWN) { switch(event.key.keysym.sym) { case SDLK_w: camZ += 500.0; break; } } else if(event.type == SDL_QUIT) { quit = 1; } } moveCamera(); } //SDL_Delay(2000); SDL_Quit(); return 0; }[/source]   Thanks for any help.