高さのリスト (高さマップ) を取り込んで風景を吐き出す OpenGL を使用したプログラムを作成しようとしています。マップを読み込んでいるときに問題が発生しています。値を読み取り、配列 (高さ) に格納するためのループとして、以下のコードがあります。正常にコンパイルされて実行されますが、ループの最後の反復でハングアップし、i=rows のポイントまですべてが正常に出力され、「行の読み取り完了」が出力されず、ハングアップします。
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];