小白学习OPENGL,书上的代码写下来在我的电脑上跑出来就是一个白窗,可是不加glBegin和glEnd的时候就能画出来图像,百思不得其解,求助各位大佬。
代码如下,是一个很简单的画一条直线的代码
#include <GL/glut.h>
void init(void)
{
glClearColor(1.0,1.0,1.0,0.0);//将窗口背景设置为白色
glMatrixMode(GL_PROJECTION);//设置投影参数
gluOrtho2D(0.0, 200.0, 0.0, 150.0);//显示窗口以(0,0)为左下角,(200,150)为右上角
}
void lineSegment(void)
{
glClear(GL_COLOR_BUFFER_BIT);//清空显示窗口
glColor3f(1.0, 0.0, 0.0); //red line
glVertex2i(180, 15);
glVertex2i(10, 145);
glEnd();
glFlush();
}
void main(int argc, char** argv)
{
glutInit(&argc, argv);//初始化glut
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//选择显示模式。
glutInitWindowPosition(50, 100);
glutInitWindowSize(400, 300);
glutCreateWindow("An Example OpenGL Program");
init();//执行初始化过程
glutDisplayFunc(lineSegment);//发送图形到显示窗口。
glutMainLoop();
}
PS:可以帮忙的大佬我愿意给赏金,但我不知道怎么设置,我可以私下给发红包,大家都很忙,谢谢各位大佬!!!!