I'm new to direct3d , graphics, HLSL , c++ , and I'm trying to write a program to render different geometric multidimensional shapes (for example a hypercube), the program is supposed to receive vertices from the user after the user has defined the number of dimensions , draw , rotate and translate the shape .
The first problem is how to define a dynamic vertex structure (is it okay to use pointers).
Second: Where to project the shape from x-dimensional to 3-dimensional space ,should I do that in the code (CPU), or is it possible to pass the object vertices and projection matrices to the shader(HLSL) and if so how (especially that the matrices are of varying size defined at runtime).
Same problem as the above for the view matrix (let's say that the object is 4-d I want the program to zoom in/out-> approach , or move in x-direction in 4-d space "I want to deal with the object's space rather than it's projection's space")
Third: If all of the above wasn't possible in the shader can I use c++amp(or it's alternatives) to accelerate the execution of such operations in the main program or will this cause performance degradation for the "Draw()" function.
I have searched the web and "Stackoverflow" but I couldn't find anything of use.