DXGI甚至是位于用户模式之下的。
基于COM。
DXGI有一个基础接口IDXGIObject::IUnknown。
IDXGIFactory, IDXGIAdapter, IDXGIDevice和IDXGIOutput都继承与它。
Object的方法主要是,访问父对象GetParent,获得和设置私有数据Set/GetPrivateData,以及设置私有数据接口SetPrivateDataInterface。
说到父对象,DXGI中各类型对象的从属关系如图:
一切都从Factory开始。
创建Factory的方法和其他COM接口一样。
* Adapter,对应显卡(但也有软件模拟的adapter);
* Output,对应输出设备,监视器之类;
* Device,对应绘制区域,类似!类似DC;
* Surface,绘制区域的图象数据的实际存储的地儿即显存的某个块儿,这个块儿的数据会硬件自动发送到Output上的Device的那个地儿;(这个还有点不确定。。)
* Resource,绘制所需要的。。。资源,贴图啊深度缓冲啊神马啊都属于此类。
blablabla