linux下opengl

  //编译指令   gcc samplegl.c -o samplegl -lglut

include  <GL/glut.h>
include  <stdlib.h>
   
 
  void  init  void  )
  {
      GLfloat  mat_specular  1.0,  1.0,  1.0,  1.0  };
          GLfloat  mat_shininess  50.0  };
          GLfloat  light_position  1.0,  1.0,  1.0,  0.0  };
 
          glClearColor  0.0,  0.0,  0.0,  0.0  );
          glShadeModel  GL_SMOOTH  );
 
          glMaterialfv  GL_FRONT,  GL_SPECULAR,  mat_specular);
          glMaterialfv  GL_FRONT,  GL_SHININESS,  mat_shininess);
          glLightfv  GL_LIGHT0,  GL_POSITION,  light_position);
 
          glEnable  (GL_LIGHTING);
          glEnable  (GL_LIGHT0);
          glEnable  (GL_DEPTH_TEST);
  }
 
 
  void  display  void  )
  {
          glClear  (GL_COLOR_BUFFER_BIT  GL_DEPTH_BUFFER_BIT);
          glutSolidSphere  (1.0,  40,  50);
          glFlush  ();
  }
 
 
 
  void  reshape  (int  w,  int  h)
  {
          glViewport  (0,  0,  (GLsizei)  w,  (GLsizei)  h);
          glMatrixMode  (GL_PROJECTION);
          glLoadIdentity  );
          if  (w  <=  h)
                  glOrtho  (-1.5,  1.5,  -1.5  GLfloat  GLfloat  w,  1.5  GLfloat  GLfloat  w,  -10.0,  10.0  );
          else
                  glOrtho  (-1.5  GLfloat  GLfloat  h,  1.5  GLfloat  GLfloat  h,  -1.5,  1.5,  -10.0,  10.0);
          glMatrixMode  GL_MODELVIEW  );
          glLoadIdentity  ;
  }
 
 
 
  void  keyboard  unsigned  char  key,  int  x,  int  y)
  {
         
          switch  (key) 
          {
                  case  27:
                  exit  );
                  break;
          }
  }
 
 
  int  main(int  argc,  char**  argv)
  {
         
          glutInit  (&argc,  argv);
         
          glutInitDisplayMode  (GLUT_SINGLE  GLUT_RGB  GLUT_DEPTH);
         
          glutInitWindowSize  (300,  300);
         
          glutInitWindowPosition  (100,  100);
         
          glutCreateWindow  argv  );
         
          init  );
         
          glutDisplayFunc  display  );
         
          glutReshapeFunc  reshape  );
         
          glutKeyboardFunc  keyboard  );
         
          glutMainLoop(  );
          return  0;
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值