Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "SDL.h"
- #include "Camera.h"
- Camera cam;
- Scene scn;
- //<<<<<<<<<<<<<<<<<myKeyboard>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- void myKeyboard(unsigned char key, int x, int y)
- {
- switch(key)
- {
- case 's': cam.slide(0.0, 0.0, 0.2); break;
- case 'w': cam.slide(0.0, 0.0, -0.2); break;
- case 'a': cam.yaw(-1.0); break;
- case 'd': cam.yaw(1.0); break;
- case 27: exit(0);
- }
- glClear(GL_COLOR_BUFFER_BIT);
- glutPostRedisplay();
- }
- void displaySDL( void )
- {
- glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
- scn.drawSceneOpenGL();
- glFlush();
- glutSwapBuffers();
- }
- int main( int argc, char* argv[] )
- {
- glutInit(&argc, argv);
- glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
- glutInitWindowSize(640, 480);
- glutInitWindowPosition(100, 100);
- glutCreateWindow("SDL Sence With Camera");
- glutKeyboardFunc(myKeyboard);
- glutDisplayFunc(displaySDL);
- glShadeModel(GL_SMOOTH);
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_NORMALIZE);
- glViewport(0, 0, 640, 480);
- scn.read("fig5_63.dat");
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- scn.makeLightsOpenGL();
- cam.set(2.3, 1.3, 2.0, 0, 0.25, 0, 0, 1, 0);
- cam.setShape(30.0f, 64.0f/48.0f, 0.5f, 50.0f);
- glutMainLoop();
- return 0;
- }
- w -> slide(0, 0.2, 0); // y
- s -> slide(0, -0.2, 0);
- a -> slide(-0.2, 0, 0); // x
- d -> slide(0.2, 0, 0);
- //The following goes in your mouse event handler or something:
- pitch(newMouseLocation.y - oldMouseLocation.y); // mouse y is related to pitch
- yaw(newMouseLocaiton.x - oldMouseLocation.x); // mouse x is related to yaw
Add Comment
Please, Sign In to add comment