因为要做图形学的实验,又是要以OPENGL为基础,所以就稍微在网上查了一些资料。
我是带着目的去学习的,所以就没有打基础之类的学很深,浅尝。
今天试着搭简单框架,画出一个图形。大神请出门左转。
#include<gl/glut.h>
#include<stdlib.h> void mydisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT); //清楚各种缓冲(颜色,深度,模式等等),先不用管
glBegin(GL_TRIANGLES);
glVertex3f(1.0,0.0,0.0);
glVertex3f(0.0,0.0,0.0);
glVertex3f(0.0,1.0,0.0);
glEnd();
glFlush(); //强制刷新缓冲
} void main(int argc,char**argv)
{
glutInit(&argc ,argv); //初始化
glutInitWindowPosition( 200 , 100); //设置初始OPENGL窗口位置
glutInitWindowSize( 500,500); //设置初始窗口宽高
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); //设置窗口显示模式
/*
1:GLUT_RGBA或者GLUT_RGB。指定一个RGBA窗口,这是一个默认的颜色模式。 2:GLUT_INDEX。指定颜色索引模式。 这个显示模式还允许你选择单缓冲区或双缓冲区窗口。 1:GLUT_SINGLE.单缓冲区窗口。 2:GLUT_DOUBLE.双缓冲区窗口,这是产生流畅动画必须选的。 还可以指定更多,如果你想指定一组特殊的缓冲的话,用下面的变量: 1:GLUT_ACCUM.累积缓冲区。 2:GLUT_STENCIL.模板缓冲区。 3:GLUT_DEPTH.深度缓冲区。
*/ glutCreateWindow("第一个OPENGL窗口"); //设置窗口名称
glutDisplayFunc(mydisplay); //调用显示窗口函数
glutMainLoop(); //让程序一直运行下去的循环函数 }