I've been entrusted with a development of a simple teaching software in different kind of curves & surfaces. The API which I should be using is DirectX 10. I started to read several tutorials available on the internet along with the following books:
Currently I can easily initialize a simple Direct3D interface. Now to go on I don't know what to read. It is trully a great idea to draw a triangle which vertices are statically given but what if I want to use dynamic data? Till now I just have a slight guess of what it's all about. So correct me if I get this wrong please:
So if I get this right with the init process (Create SwapChain, Device, RenderTargetView and Viewport) we define the graphical pipeline.
With the different kinds of HLSL shaders we define how a particular part of the pipeline is working.
Now what I couldn't figure out:
How does this rendering thing works in particular in D3D? - Given an empty initialized D3D interface, how can I draw different kind of objects on specific user interactions? Like a mouseclick is done on the screen, and the program should create a a vertex on that particular point with (x,y,1,1) homogenious coordinates. So it's great to actually draw anything with statically given vertices but what if I have dynamic resource?
Also what's the prurpose of Vertex Buffers? - I don't think what are they used for. I know about that, but how to manage them? Should I have a simple vertex buffer for all the objects that are to be drawn onto the screen or one vertex buffer for each element? Same goes for shaders.
You see I'm missing the in depth information. I want to understand the concepts and not to drag some basic example and learn nothing from it. It can helpfor other people of course just not for me. I want to get the answer for the mythical "WHY?" questions. And obviously from the mentioned sources I didn't got any. So if any of you could give me any link to a decent well written tutorial (Can be zero code also, I can write that by myself just give me that d4mm3d in depth information that the DX works like THIS because of THAT particular reason. We use THIS tool to manage THAT goal. Writting down some code which can be managed to put together using MSDN won't help a bit.
Thanks for every response - recommendation.