#include <gl/glut.h>
void Initial(void)
{
glClearColor(1.0f,1.0f,1.0f,1.0f);//设置颜色
glMatrixMode(GL_PROJECTION);/*设置当前矩阵模式:
GL_PROJECTION,对投影矩阵应用随后的矩阵操作.
GL_MODELVIEW,对模型视景矩阵堆栈应用随后的矩阵操作.
GL_TEXTURE,对纹理矩阵堆栈应用随后的矩阵操作.*/
gluOrtho2D(0.0,200.0,0.0,150.0);//定义了一个二维图像投影矩阵,void gluOrtho2D(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top)
}
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT);//清空当前所有颜色
glColor3f(1.0f,0.0f,0.0f);
glRectf(50.0f,100.0f,150.0f,50.0f);//void glRectf(GLfloat x1,GLfloat y1,GLfloat x2,GLfloat y2)
glFlush();//强制把指令从缓冲区送到驱动
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv);//初始化GLUT库,从main函数获取参数;
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
/*设置图形显示模式,参数可选值为:
GLUT_SINGLE:使用单缓存;
GLUT_DOUBLE:使用双缓存,避免把作图过程表现出来,或为了平滑的实现动画;
GLUT_RGB:默认使用的模式,建立RGB模式的窗口*/
glutInitWindowSize(400,300);
glutInitWindowPosition(100,120);
glutCreateWindow("矩形");//产生顶层窗口,int glutCreateWindow(char* name),name 做为窗口的名字,是标题栏显示的内容;
glutDisplayFunc(Display);//为当前窗口设置显示回调函数;
Initial();
glutMainLoop();//进入事件循环,一个glut程序最多调用一次,一旦调用,直到程序结束才返回
return 0;
}
OpenGL的"HelloWorld"
最新推荐文章于 2023-10-22 15:43:10 发布