Я новичок в direct3d, графике, HLSL, c ++, и я пытаюсь написать программу для визуализации различных геометрических многомерных форм (например, гиперкуба), программа должна получать вершины от пользователя после того, как пользователь определил количество размеров, нарисуйте, поверните и переместите форму.
Первая проблема - как определить динамическую структуру вершин (можно ли использовать указатели).
Во-вторых: где проецировать форму из x-мерного в 3-мерное пространство, должен ли я делать это в коде (CPU), или можно ли передать вершины объекта и матрицы проекции в шейдер (HLSL), и если да, то как (особенно, если матрицы имеют разный размер, определенный во время выполнения).
Та же проблема, что и для матрицы вида выше (допустим, объект 4-мерный. Я хочу, чтобы программа увеличивала / отдаляла-> подход или двигалась в направлении оси x в 4-мерном пространстве. "Я хочу иметь дело с пространство объекта, а не пространство его проекции ")
В-третьих: если все вышеперечисленное было невозможно в шейдере, могу ли я использовать c ++ amp (или его альтернативы) для ускорения выполнения таких операций в основной программе, или это вызовет снижение производительности для «Draw ()» функция.
Я искал в Интернете и "Stackoverflow", но не нашел ничего полезного.