我有这个代码,它应该在屏幕上绘制一些点:
glBegin(GL_POINTS);
for(int i = 0; i < x; i++)
{
for(int j = 0; j < y; j++)
{
glColor3f(0,0,0);
glVertex3f(array1[i][j], array2[i][j], array3[i][j]);
cout<<array1[i][j]<<" "<<array2[i][j]<<" "<<array3[i][j]<<endl;
}
}
glEnd();
我只在屏幕上得到一分。我无法想象这是怎么回事。我正在打印数组值,它们都是不同的,但我只得到一点而不是几百点。你能说出这段代码有什么问题吗?
答案 0 :(得分:2)
可能是数据集中只有一个点落在视口中,或者所有点最终都投影到一个可见像素。无论哪种方式,您都应该检查您的投影范围。您可以提取数据集的边界框,set the viewing volume略大于此。