Original Post
Hi, 1) I’m not sure why I must check that D3DDEVCAPS_HWTRANSFORMANDLIGHT is supported, as surely this can be taken for granted if a card to be to a certain DirectX version? For example, if I was using the 9.0c features, isn’t there a way to just check to see if the card is up to that standard, which in turn implies that many common features such as D3DDEVCAPS_HWTRANSFORMANDLIGHT are already supported by the GPU? 2) I can’t understand why a pure device would be better in the long run, my book says it may be faster, but certain get methods would be disabled. Why would you ever use a pure device if you can’t ask for certain information from the card? 3) If I’m interested in using DirectX 9.0c, why do I need to use the D3DCAPS9 structure at all as CAPS is used to find out if things are supported above a DirectX version? 4) When creating the IDirect3D9::CreateDevice object, why would the hFocusWindow parameter be anything different than the display window? 5) When checking for IDirect3DDevice9::TestCooperativeLevel, can an application ever do anything that would cause D3DERR_DRIVERINTERNALERROR to be returned? Thank you, NB.