Из кода, который вы опубликовали, вызов fread () выглядит безопасным, но подумайте, является ли трехмерный байтовый массив лучшим выбором для структуры данных.
Я предполагаю, что вы делаете какой-то рендеринг, когда вы используете GLubyte.И, конечно же, для выполнения любого рендеринга вам необходим доступ к вершине, определенной в трехмерном пространстве.Это приведет к:
pVolume[vertIndex][vertIndex][vertIndex]
Это будет постоянно приводить к перебоям в вашей команде.В память будет выкладываться сначала все xs, затем все ys, а затем все zs.Таким образом, каждый раз, когда вы переходите от x к y к z, вы можете столкнуться с промахом кэша и очень медленным перфом.