Guest User

Untitled

a guest
Jun 21st, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include "SDL.h"
  2. #include "Camera.h"
  3.  
  4. Camera cam;
  5. Scene scn;
  6.  
  7. //<<<<<<<<<<<<<<<<<myKeyboard>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  8. void myKeyboard(unsigned char key, int x, int y)
  9. {
  10. switch(key)
  11. {
  12. case 's': cam.slide(0.0, 0.0, 0.2); break;
  13. case 'w': cam.slide(0.0, 0.0, -0.2); break;
  14. case 'a': cam.yaw(-1.0); break;
  15. case 'd': cam.yaw(1.0); break;
  16.  
  17.  
  18. case 27: exit(0);
  19. }
  20. glClear(GL_COLOR_BUFFER_BIT);
  21. glutPostRedisplay();
  22. }
  23.  
  24. void displaySDL( void )
  25. {
  26. glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
  27. scn.drawSceneOpenGL();
  28. glFlush();
  29. glutSwapBuffers();
  30. }
  31.  
  32. int main( int argc, char* argv[] )
  33. {
  34. glutInit(&argc, argv);
  35. glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
  36. glutInitWindowSize(640, 480);
  37. glutInitWindowPosition(100, 100);
  38. glutCreateWindow("SDL Sence With Camera");
  39. glutKeyboardFunc(myKeyboard);
  40. glutDisplayFunc(displaySDL);
  41. glShadeModel(GL_SMOOTH);
  42. glEnable(GL_DEPTH_TEST);
  43. glEnable(GL_NORMALIZE);
  44. glViewport(0, 0, 640, 480);
  45. scn.read("fig5_63.dat");
  46. glEnable(GL_LIGHTING);
  47. glEnable(GL_LIGHT0);
  48. scn.makeLightsOpenGL();
  49.  
  50. cam.set(2.3, 1.3, 2.0, 0, 0.25, 0, 0, 1, 0);
  51. cam.setShape(30.0f, 64.0f/48.0f, 0.5f, 50.0f);
  52.  
  53. glutMainLoop();
  54. return 0;
  55. }
  56.  
  57. w -> slide(0, 0.2, 0); // y
  58. s -> slide(0, -0.2, 0);
  59. a -> slide(-0.2, 0, 0); // x
  60. d -> slide(0.2, 0, 0);
  61.  
  62. //The following goes in your mouse event handler or something:
  63. pitch(newMouseLocation.y - oldMouseLocation.y); // mouse y is related to pitch
  64. yaw(newMouseLocaiton.x - oldMouseLocation.x); // mouse x is related to yaw
Add Comment
Please, Sign In to add comment