问题描述:
想要使用OpenGL画一个正方体,效果如下:
其实现方式是通过三维坐标分别画出它的每个面
于是我们使用以下代码来画出一个正方形平面:
glBegin(GL_QUADS);
glVertex3f(0, 0, 0);
glVertex3f(0, 1, 0);
glVertex3f(1, 0, 0);
glVertex3f(1, 1, 0);
glEnd();
明显四个坐标点没有问题,完全可以构成一个正方形平面,然鹅运行结果会画出下面这样:
原因分析及解决:
原因非常简单,在规定四个坐标点时由先到后要遵循一定的顺序(顺时针或逆时针)。
例如;
只需调换这两行代码的先后顺序:
此时就能画出正常的正方形平面。