VC6+XP下第一个OpenGL程序

OpenGL的美名虽然诱惑着无数学习者的心,但若没人指点
 就象你学C时第一次写"Hello,World!"程序,也会遇到很多困难。

  1.现在对初学者的示例程序是基于GLUT的(OpenGL Utility Toolkit)
  但VC6和VS2005的include目录下都没有gl/glut.h,只有gl/gl.h和gl/glu.h.
  所以要从www.opengl.org去下载。不知道什么原因,我的电脑不能正常打开
  这个网站,所以另外找了个地方下载:
  http://www.openglsource.com/download/download.htm

  2.下载回来的glut-3.7.6-bin.zip 解压后,将glut.h复制到VC6安装
  目录的include/gl/目录下;glut32.lib复制到VC6安装目录的lib目录下;
   glut32.dll复制到windows/system32目录下,然后就可以编译运行下
   面的程序了:
*/

/*
 * helloGL.c
 * This is a simple, introductory OpenGL program.
 */
#include <GL/glut.h>
#include <stdlib.h>

void display(void)
{
/* clear all pixels  */
   glClear (GL_COLOR_BUFFER_BIT);

/* draw white polygon (rectangle) with corners at
 * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) 
 */
   glColor3f (1.0, 1.0, 1.0);
   glBegin(GL_POLYGON);
  
      glVertex3f (0.25, 0.25, 0.0);
      glVertex3f (0.75, 0.25, 0.0);
  glVertex3f (0.75, 0.75, 0.0);
      glVertex3f (0.25, 0.75, 0.0);
     
   glEnd();

/* don't wait! 
 * start processing buffered OpenGL routines
 */
   glFlush ();
}

void init (void)
{
/* select clearing color */
   glClearColor (0.0, 0.0, 0.0, 0.0);

/* initialize viewing values  */
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}

/*
 * Declare initial window size, position, and display mode
 * (single buffer and RGBA).  Open window with "hello"
 * in its title bar.  Call initialization routines.
 * Register callback function to display graphics.
 * Enter main loop and process events.
 */
int main(int argc, char** argv)
{
   glutInit(&argc, argv);
   glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
   glutInitWindowSize (250, 250);
   glutInitWindowPosition (100, 100);
   glutCreateWindow ("hello");
   init ();
   glutDisplayFunc(display);
   glutMainLoop();
   return 0;   /* ANSI C requires main to return int. */
}
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值