void myDisplay(void) {glClearColor(0.0f,0.0f,0.0f,1.0f); glClear(GL_COLOR_BUFFER_BIT); glEnable(GL_BLEND); glBlendFunc(GL_ONE,GL_ONE); glColor4f(0.5,0.6,0,0.5); glRectf(-7,-2,0.1,0); glColor4f(0,0,1,0.5); glRectf(-0.5,-0.2,3,13); glutSwapBuffers();glFlush(); }
这其中的函数实现如图。很多同学做实验时实现不了叠加原因是对glRECF参数的不熟悉,为了实现叠加改了里面的4个参数怎么改都改不成。在此说到
我们的窗口是-1~1的,大于这个值都会被裁剪掉。
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);j即是画一个矩形,四个参数分别表示了位于对角线上的两个点的横、纵坐标、这两个点是左下,右上。
而画不出来,即是没有用到glFlush();这个函数另其马上执行。