以下を使用して、生の3D(256x256x256セル)テクスチャ(8ビット)を読み取ります。
f = fopen(file, "rb");
if (f == NULL) return;
int size = width * height * depth;
data = new unsigned char[size*3];
fread(data, 3, size, f);
image = reinterpret_cast<rgb *>(data);
fclose(f);
ここで、画像のrgbaは
typedef unsigned char byte;
typedef struct {
byte r;
byte g;
byte b;
} rgb;
次に、立方体を垂直方向に「スライス」して、次のようにデータを表示します。
glTexImage2D()
これらのスライスをつかむための賢い方法は何ですか?ループを使用してデータを取得する方法について頭を悩ませようとしましたが、データがどのように編成されているか正確にはわかりません。また、このループは簡単ではありません。
直感的なスライス構文を使用できるように、データをより簡単な形式にマッピングできますか?