core的类图关系:父--->子
ID3D11DeviceChild---->ID3D11Asynchronous--->ID3D11Query--->ID3D11Predicate
ID3D11DeviceChild---->ID3D11Asynchronous--->ID3D11Counter
ID3D11DeviceChild---->ID3D11BlendState,ID3D11CommandList,ID3D11DepthStencilState,
ID3D11DeviceContext,ID3DDeviceContextState,ID3D11SamplerState,ID3D11RasterizerState,
ID3D11InputLayout
ID3D11DeviceChild :所有数据的父,你可以认为继承了它相当于拥有了数据特性。它拥有两个能力:
1.获取ID3D11Device对象 GetDevice
2.保存数据:GetPrivateData和SetPrivateData
数据相关:
ID3D11Asynchronous :它用一个方法:GetDataSize 它的子代表着一个集合,存储数据的集合,想想看只有集合需要获取数据的长度。
ID3D11Query :它的成员方法没啥意思,就一个方法GetDesc。有意思的是它的用法:
它能够获取某区间的数据。
ID3D11Predicate :(未知)
ID3D11Counter :它的用法跟ID3D11Query一样,只不过它是用来获取计数器的,主要用于对性能的检测。
设置状态相关:
ID3D11BlendState :此接口用于混合阶段,对混合的方式进行描述。
ID3D11DepthStencilState :创建深度缓存的时候,对深度缓存的方式进行描述。
ID3DDeviceContextState :对上下文的状态进行描述,次接口没有方法,全部依靠父类。
ID3D11SamplerState :采样器相关的状态描述,这里的采样是对纹理的采样,而不是多重采样 - -。
ID3D11RasterizerState :光栅化程序状态的描述。
1.创建:(都是由ID3DDevice对象进行创建)
2.使用:(都是对ID3DDeviceContext对象的一些状态进行设置,当然了有些状态也可以进行获取)
注:有些状态是设置给着色器的,那么它就会被不只一个方法给用到。