我很难理解何时加入前缀"我"对于directx11 STRUCTS和COM对象类?
例如:
1)IDXGI与DXGI 2)ID3D11与D3D11
我似乎无法弄明白何时使用什么,请帮助。
答案 0 :(得分:1)
DirectX接口使用组件对象模型(COM)。
并非COM的所有方面都用于DirectX,但它遵循使用“I”来表示接口的约定,接口派生自IUnknown
,它通过{{1来处理引用计数和接口的“转换”接口设计用于直接映射到C ++抽象虚拟类。
COM的DirectX风格通常被非正式地称为“COM lite”。主要区别在于,当设备对象被销毁时,从设备创建的任何“子”对象的生命周期立即无效。此外,'set'对象的引用计数也不会增加,只需将它们绑定到渲染管道即可。
您应该强烈考虑使用ComPtr智能指针来处理Direct3D接口。它让生活变得更轻松。
顺便说一下,您可能需要花些时间阅读DirectX Tool Kit tutorials,其中涵盖了Direct3D的大部分基础知识。