Я пытаюсь отобразить 3D-модель человека в opengl. Объект человека представлен трехмерным массивом [n][n][n] (высота, ширина и глубина), где n = 300. Каждый элемент массива имеет значение либо 1, либо 0. Если элемент равен 0, то он должен быть проигнорировано, еще нарисовано.
Проблема: из-за того, что мне приходится перебирать 3D-массив, используя 3 вложенных цикла for, а затем создавать вершины для каждого отдельного вокселя, это занимает много времени.
Моя идея, как решить проблему: написать еще одну программу, которая будет перебирать массив, создавать вершины и записывать их в файл. И затем всякий раз, когда мне нужно выполнить рендеринг, я буду читать вершины из файла.
Вопрос: Как лучше всего визуализировать такой объект? Было бы здорово, если бы вы могли предложить какой-либо алгоритм или технику.
"opengl volume rendering"
. Также"isosurface generation"
и"marching cubes"
. - person G.M.   schedule 12.06.2020