У меня есть 3D-массив, представляющий 3D-объект (x, y, z). Значения, хранящиеся в массиве, являются цветами RGB. Можно ли сгенерировать изображение объекта с любой данной точки зрения?
Это, конечно, возможно. Ключевыми словами здесь являются преобразование и проекция, в основном вы определяете точку для каждого (3D) пикселя внутри вашего массива. Затем вы умножаете все точки на связки матриц и получаете двумерный результат.
Вот статья о том, как OpenGL выполняет свои преобразования:
http://www.songho.ca/opengl/gl_projectionmatrix.html
Вы можете имитировать весь конвейер в C ++ для создания растрового изображения на вашем процессоре или использовать OpenGL напрямую, что будет в тысячу раз быстрее. При использовании OpenGL вы также можете просматривать свою модель в режиме реального времени со всех сторон, но это, по сути, будет полноценное 3D-приложение.
Других решений пока нет …