我很難理解何時爲directx11 STRUCTS和COM對象類包含前綴「I」?什麼時候使用前綴「我」爲STRUCTS,在directx11中的類?
例如:
1)IDXGI VS DXGI 2)ID3D11 VS D3D11
我似乎無法弄清楚什麼時候用什麼,請大家幫忙。
我很難理解何時爲directx11 STRUCTS和COM對象類包含前綴「I」?什麼時候使用前綴「我」爲STRUCTS,在directx11中的類?
例如:
1)IDXGI VS DXGI 2)ID3D11 VS D3D11
我似乎無法弄清楚什麼時候用什麼,請大家幫忙。
DirectX接口利用組件對象模型(COM)。
COM的各方面都不是用於DirectX的,但它遵循使用「I」來表示接口,接口從IUnknown
它處理引用計數,並通過QueryInterface
接口「鑄造」衍生的約定,和接口設計直接映射到C++抽象虛擬類。
COM的DirectX風格通常被非正式地稱爲'COM lite'。主要區別在於,當設備對象被銷燬時,從設備創建的任何「子」對象的生命週期都立即失效。另外'set'對象的引用計數沒有增加,只是將它們綁定到渲染管道。
你應當認真考慮利用該ComPtr智能指針與Direct3D的接口工作。它使生活變得更容易。
順便說一句,您可能需要一些時間來通讀DirectX Tool Kit tutorials,其中涵蓋了Direct3D的許多基本知識。
爲什麼heck im下了票(s)?還有另一個非常相似的(不是確切的)問題在這裏:http://stackoverflow.com/questions/37509559/understanding-id3d11device-and-id3d11devicecontext和他們沒有得到一個downvotes ... – dave
再次閱讀的好方法問一個問題http://stackoverflow.com/help/how-to-ask – galop1n
我還是不是我在一個班級名稱是一個純粹的意見爲基礎的決定,我的意思是接口,cary謂詞它將是一個複雜的對象,提供服務而不提供內部的知識。一個帶有基本成員的簡單結構不是一個接口,就是這樣。 – galop1n