Чтение необработанной 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()
Какой умный способ схватить эти кусочки? Я попытался понять, как получить данные с помощью цикла, но я не совсем уверен, как организованы данные, и я не считаю этот цикл тривиальным.
Могу ли я отобразить данные в более простой формат, чтобы я мог использовать интуитивно понятный синтаксис срезов?