组件对象模型COM
COM对象的智能指针,可使用ComPtr类。当一个ComPtr实例超出作用域范围时,它会自动调用相应COM对象的Release方法,省掉了我们手动释放的麻烦。
#include <wrl.h>
交换链(swap chain)
即前台缓冲区(front buffer)和后台缓冲区(back buffer)。当后台缓冲区动画帧绘制完毕时,后台会变成前台,呈现绘制好的画面,而前台会变成后台进行下一帧的绘制。使用两个缓冲区的情况称为双缓冲(double buffering),三个缓冲区称为三重缓冲(triple buffering),对于一般应用而言只需要两个缓冲区即可。
深度缓冲区(depth buffer)
存储的时特定像素的深度信息。深度值的范围为[0,1],0代表观察者在视锥体中能看到离自己最近的物体,1则代表观察者在视锥体中可以看到离自己最远的物体。深度缓冲区中的元素与后台缓冲区的像素一一对应,即后台缓冲区第i行第j列的元素对应深度缓冲区中第i行第j列的元素。所以,如果后台缓冲区的分辨率是1920 x 1080,则深度缓冲区就应该有1920 x 1080个深度元素。
Direct3D采用了深度缓冲(depth buffering)或z缓冲(z-bufferi