随笔-15  评论-2  文章-0  trackbacks-0
环境的搭建不说了,网上很多。我本人是用GCC,没有用VC完全是因为不熟悉微软的东西,以及不想太过依赖微软(就算依赖至少也得知道到底依赖了他哪些东西)。

其中看到的OpenGL的函数,
以gl开头的函数都是OpenGL的标准函数;
以glu开头的函数都是GLU实用库所提供的函数;
以glut开头的函数都是GLUT工具包所提供的函数;
函数库的内容详见OpenGL开发库的详细介绍。 

#include <gl/gl.h>
#include 
<gl/glu.h>
#include 
<gl/glut.h>

void 
myDisplay(
void)
{
    
// 清除, GL_COLOR_BUFFER_BIT表示清除颜色
    glClear(GL_COLOR_BUFFER_BIT);

    
// 画一个矩形, 四个参数分别为左上角点的x, y坐标, 右下角点的x, y坐标
    glRectf(-0.5f-0.5f0.5f0.5f);

    
// 保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待), 其作用跟fflush(stdout)类似
    glFlush();
}


// 程序入口
int 
main(
int argc, char *argv[])
{
    
// 对GLUT进行初始化
    glutInit(&argc, argv);

    
// 设置显示方式
    
// GLUT_RGB表示使用RGB颜色, GLUT_INDEX表示使用索引颜色
    
// GLUT_SINGLE表示使用单缓冲, GLUT_DOUBLE表示使用双缓冲
    glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE );

    
// 设置窗口在屏幕中的位置
    glutInitWindowPosition(100100);

    
// 设置窗口的大小
    glutInitWindowSize(400400);

    
// 根据前面设置的信息创建窗口, 参数将被作为窗口的标题
    
// 此时并不马上显示到屏幕上, 等到调用glutMainLoop后才能看到窗口
    glutCreateWindow("My first OpenGL Program, not \"Hello World\", - -");

    
// 设置一个函数, 需要进行画图时, 这个函数就会被调用
    glutDisplayFunc(&myDisplay);

    
// 进行一个消息循环
    glutMainLoop();

    
return 0;
}


posted on 2010-03-29 22:05 RayRiver 阅读(383) 评论(0)  编辑 收藏 引用 所属分类: OpenGL

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理