fork download
  1. #include <gl/glut.h>
  2.  
  3. float X = 0;
  4. float Y = 0;
  5.  
  6. void display(void) {
  7.  
  8. glClear(GL_COLOR_BUFFER_BIT);
  9.  
  10. glBegin(GL_QUADS);
  11. glVertex2d(X-0.1,Y-0.1);
  12. glVertex2d(X-0.1,Y+0.1);
  13. glVertex2d(X+0.1,Y+0.1);
  14. glVertex2d(X+0.1,Y-0.1);
  15. if (X == 1.0 || X == -1.0) {//虚像
  16. glVertex2d(-X - 0.1, Y - 0.1);
  17. glVertex2d(-X - 0.1, Y + 0.1);
  18. glVertex2d(-X + 0.1, Y + 0.1);
  19. glVertex2d(-X + 0.1, Y - 0.1);
  20. }
  21. if (Y == 1.0 || Y == -1.0) {//虚像
  22. glVertex2d(X - 0.1,-Y - 0.1);
  23. glVertex2d(X - 0.1,-Y + 0.1);
  24. glVertex2d(X + 0.1,-Y + 0.1);
  25. glVertex2d(X + 0.1,-Y - 0.1);
  26. }
  27. glEnd();
  28.  
  29. glFlush();
  30.  
  31. }
  32. void keyboard(unsigned char key, int x, int y)
  33. {
  34. switch (key) {
  35. case 'a':
  36. case 127:
  37. X -= 0.2;
  38. break;
  39. case 'w':
  40. case 27:
  41. Y += 0.2;
  42. break;
  43. case 's':
  44. case' ':
  45. X += 0.2;
  46. break;
  47. case 'z':
  48. case 'E':
  49. Y -= 0.2;
  50. break;
  51.  
  52. default:
  53. break;
  54. }
  55. //入力補正
  56. if (X > 1.0) X = -1;
  57. if (X < -1.0) X = 1;
  58. if (Y > 1.0) Y = -1;
  59. if (Y < -1.0) Y = 1;
  60. //強制再描画
  61. glutPostRedisplay();
  62. }
  63.  
  64. //サイズ変更
  65. void Resize(int w, int h)
  66. {
  67. //ビューポート設定
  68. glViewport(0, 0, w, h);
  69.  
  70. //変換行列の初期化
  71. glLoadIdentity();
  72.  
  73. gluPerspective(60.0, w / static_cast<GLdouble>(h), 1.0, -1.0);
  74. gluLookAt(0, 0, 1.75, 0, 0, 0, 0, 1, 0);
  75.  
  76. }
  77.  
  78. int main(int argc, char *argv[])
  79. {
  80. glutInit(&argc, argv);
  81.  
  82. glutInitDisplayMode(GLUT_RGBA);
  83. glutInitWindowSize(480, 480);
  84. glutCreateWindow(argv[0]);
  85.  
  86. glutDisplayFunc(display);
  87. glutKeyboardFunc(keyboard);
  88. glutReshapeFunc(Resize);
  89.  
  90. glClearColor(1.0, 0.0, 1.0, 0.0);
  91.  
  92. glutMainLoop();
  93.  
  94. return 0;
  95. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c:1:21: fatal error: gl/glut.h: No such file or directory
 #include <gl/glut.h>
                     ^
compilation terminated.
stdout
Standard output is empty