1. Direct3D的可以被认为是程序员和图形硬件之间的媒介。例如,程序员调用Direct3D函数绑定资源视图到硬件渲染管线,配置渲染管道的输出,及绘制三维几何图形。
2.在Direct3D11,一个Direct3D11功能的图形设备必须支持所有的Direct3D11的能力集,除了少数例外。
3.组件对象模型(COM)是允许DirectX是独立的语言,并具有向后兼容性的技术。 Direct3D的程序员不需要知道COM的细节以及它是如何工作的;他们只需要知道如何获得COM接口,以及如何释放他们。
4.1D纹理是数据元素的一维数组,二维纹理是数据元素的二维数组,及3D纹理是一个三维数组数据元素。纹理的元素必须有一个格式描述,通过DXGI_FORMAT成员枚举类型。纹理通常包含图像数据,但是它们可以包含其他数据,如深度信息(例如,深度缓冲器)。该GPU可以在纹理上做特殊操作,如过滤器和多重采样。
5.在Direct3D中,资源直接不绑定到管道。相反,一个资源视图绑定到管道中。一个单一的资源的不同视图可被创建。以这种方式,一个单一的资源可被绑定到渲染管线的不同阶段。如果资源是由一个无类型格式创建,那么该类型必须在视图创建时指定。
6. ID3D11Device及ID3D11DeviceContext接口可以被看作是我们物理图形设备硬件的软件控制器;即,使用这些接口可以与硬件交互,并指示它做事情。ID3D11Device接口负责检查功能的支持和分配资源。ID3D11DeviceContext接口负责用于设置渲染状态,绑定资源到图形管线,并发出渲染命令。
7.为了避免闪烁的动画,最好的绘制动画的整个帧到屏幕的纹理,被称为后台缓冲区。一旦整个场景已经绘制到后台缓冲区,它被提交到屏幕的完整的一帧;以这种方式,观看者不看到帧绘制的过程,帧已被绘制到后台缓冲,后台缓冲器及前台缓冲器的角色互换:后台缓冲器变前缓冲器及前台缓冲器变成动画的下一帧后台缓冲区。交换后台和前台缓冲被称为Presenting。前后缓冲器形成交换链,通过IDXGISwapChain接口表示。利用两个缓冲器(前和后)被称为双缓冲。
8.假设在不透明的对象的场景中,相机的最近点隐藏在他们身后的任何点。深度缓冲是一种技术用于确定在场景最靠近相机的点。这样一来,我们就不必担心我们绘制到场景中的物体的顺序。
9.性能计数器是一个高分辨率计时器,它提供精确定时测量所需的测量小时间差速器,如帧之间经过的时间。性能计时器的工作时间单位被称为counts。QueryPerformanceFrequency输出性能定时器的每秒counts,然后可以被用于从counts转换到秒单位。性能定时器(counts测量)的当前时间值可由QueryPerformanceCounter函数获得。