As per my initial proposal, I have been learning the DirectX 12 API (DX12) using Luna, F’s 3D Game Programming With DirectX 12.
I knew from light research and word of mouth that it was supposedly a lower level API than previous versions of DirectX however, as my delivery on this week’s planned milestone has demonstrated, It is far more confusing than I had anticipated.
I have been following the lessons and studying the examples that Luna provides with the text, yet in the space of a week all I had achieved was making my Window go from the default white I have become used to, to a slight blue of the clear front buffer. In Short, DirectX is too low level, too complicated.
I have decided, instead of this to use DirectX 11, which not only has the benefit of a plethora of resources, tutorials and books about it due to it’s age, it’s is also a considered a higher level API.
As a quick personal primer to DX11 I followed DirectXTutorial‘s DX11 tutorial up to drawing a triangle onto the window, implemented it in a similar class to that which I used in my try at DX12 so that the window and all handling of D3D was in that class and easily read.
As you can see I managed to draw this lovely “Triangle of Doom”!
Due to this change, I have adjusted my milestones by moving them forward by one week, this small adjustment should be enough as most of the theory behind DX11 is very similar to DX12 so I already know much of the basic theory required. Though this slippage is an annoyance, I am glad that I have caught it at an early stage and confident that I will complete this project again.