问候我是OpenGL和Glut的新手。我做了一个功能,显示4个点,使得正方形的角落没有联合点。问题是当我运行项目时,该功能不显示任何内容。 我有一个类似的功能,可以使用线条,并在窗口的角落显示一些完美的效果。请告诉我我做错了什么以及如何解决它。以下是两个功能:
使用线条。完美运作
void Display2() {
glColor3f(1,0.1,0.1);
glBegin(GL_LINES);
glVertex2f(1.0,1.0);
glVertex2f(0.9,0.9);
glVertex2f(0.8,0.8);
glVertex2f(0.7,0.7);
glVertex2f(0.6,0.6);
glVertex2f(0.5,0.5);
glVertex2f(-0.5,-0.5);
glVertex2f(-1.0,-1.0);
glEnd();
}
带点的那个。不显示任何内容。
void Display3() {
glColor3f(1,0.1,0.1);
glBegin(GL_POINTS);
glVertex2f(100, 100);
glVertex2f(200, 100);
glVertex2f(100, 200);
glVertex2f(200, 200);
glEnd();
}
答案 0 :(得分:2)
OpenGL中的默认可见区域在每个轴上的范围从-1到1(所谓的标准化设备坐标)。
在您的行示例中,所有值都在此范围内,因此是可见的。在点示例中,坐标仅在屏幕之外。您可以更改坐标以适应[-1,1]间隔,也可以添加一个处理该坐标的投影矩阵。