Context: I'm just getting started. I donβt even touch the Direct3D 11 API, but instead look at understanding the pipeline, etc.
From a look at the documentation and information floating over the network, it seems that some calculations are being processed by the application. That is, instead of simply representing the matrices for multiplying by the GPU, the calculations are performed using a mathematical library that runs on the CPU. I donβt have much resources to point this out, although I think I can point to the XNA Math Library or samples sent in the February DX SDK. When you see the type code mViewProj = mView * mProj;, this prediction is calculated on the CPU. Or am I wrong?
If you are writing a program where there can be 10 cubes on the screen, where you can move or rotate cubes, as well as a viewpoint, what calculations would you do on the CPU? I think I would save the geometry for one cube and then transform the matrices representing the actual instances. And then it seems to me that I will use the XNA math library or another of my choice to transform each cube into model space. Then we get the coordinates in world space. Then click this information on the GPU.
This is quite a bit of computation on the processor. I am wrong?
- Am I drawing conclusions based on too little information and understanding?
- What conditions should I use Google if the answer is STFW?
- Or, if I am right, why these calculations are not transferred to the GPU?
EDIT: , XNA, , XNA Math Library DX Math. ( XNA SDK ).