(reprint please indicate the source)
Another one months, Microsoft in Build2015 published a lot of news about Win10, and in the support of the N card DX12 saw my garbage graphics card (gt640m LE) Incredibly in the scope of support, happily directly to the physical machine installed WIN10, upgraded the SDK, VS2015 into the RC version. But disappointed is the graphics card support is only d3d12 level11.0, can not use level12.0, do not know will update support.
WIN10SDK also updated, we care about the nature is the d3d12 part. For the moment, the changes are as follows:
1. Helper class/function was separated into the header file of direct3dx12 or something, but I went through the SDK and didn't have the file, which was visually dxsdk.
2. Functions name/function parameter number/parameter order change
3. Exchange Chain Details change
The first two are insignificant, up to the point of trouble, such as a new creation function
HRESULT WINAPI D3d12createdevice (
_in_opt_ IUnknown *padapter,
d3d_feature_level Minimumfeaturelevel,
_in_ refiid riid,
_out_opt_ void **ppdevice
);
There are only four parameters, for example, to choose software rendering is a bit cumbersome, you need to enumerate the connection adapter.
OK, now for the exchange chain , in D3d10, 11 and before 12, the switching chain can rotate automatically, for example we have a swap chain with two buffer ab.
Before we write a, rotate the switch chain, and then render it, it is automatically written to B.
Now, after swapping, or writing to a, Microsoft says it's about reducing CPU overhead. But now we're having a little trouble rendering. Now I haven't found the right way .
The current solution is generally three kinds:
1. Modify Commandlist each presentation
2. Create several times the buffer of commandlist, write for different buffers
3. Create a temporary buffer that is written to the buffer and then sent to a different buffer when rendered.
Here, I choose 2, waste a bit of memory in exchange for efficiency.
This time the example will simply update the code, and this time it seems to be able to interact perfectly with the Directcomposition component:
Updated Code Download Address:
Click here