我正在尝试使用 OpenGL 编写一个程序,该程序接受一个高度列表(高度图)并吐出一个风景。我在阅读地图时遇到了问题。我将下面的代码作为循环读取并将值存储在数组(高度)中。它可以正常编译并运行,但它在循环的最后一次迭代中被挂起,它会打印出一切正常,直到 i=rows 并且它不会打印出“read in row finish”并且只是挂断。
printf("reading in the height map\n");
for(i=0; i < rows; i++){
printf("read in row start\n");
for(j=0; j < cols; j++){
scanf("%f", &cur_height);
heights[point].x = j;
heights[point].y = i;
heights[point].z = cur_height;
point++;
printf("%d %d\n",j, cols);
}
printf("%d\n", point);
printf("read in row finish");
}
编辑:另外,作为一个额外的上下文高度是一个数组或点,声明为:
#define NUM_POINTS 202750
typedef struct point_type{
float x, y, z;
} pt_t;
pt_t heights[NUM_POINTS];