Direct3D动画显示技术——交换链
交换链技术和之前看过的WINDOWS的GDI技术差不多(画布原理),后台缓冲区绘制好图像后和前台进行交换,因为计算机绘制图像的速度超过了显示的速度,如果不进行交换,有的画面还没显示出来就被替换掉了。在DIRECTX初始化“第3步填信息”中,D3DPRESENT_PARAMETERS中的BackBufferCount,就是表示有多少后台缓冲区。而第4步完成交换链的创建。驱动交换链翻转操作是通过IDirect3DDevice9::Present()函数实现。Present()函数放在Direct3D_Render()中
Direct3D设备接口
全局变量g_pd3dDevice,可以调用IDirect3DDevice9::Present(),用于Direct3D中进行绘制。
Direct3D二维文本绘制(简单)
ID3DXFont负责。函数D3DXCreateFont负责创建。函数DrawText扶着绘制
Direct3D渲染步骤:
(Direct3D设备接口调用以下函数)
1.清屏,函数Clear(...)
2.开始绘制,与GDI类似,函数BeginScene()
3.正式绘制
4.结束绘制,函数EndScene()
5.翻转,函数Present(...)
补充概念:
前台缓冲区和后台缓冲区是位于系统内存或显存的内存块
_T是在tchar.h头文件中
D3DXCreateFont函数是在d3dx9.h头文件中
字体变量和设备接口使用完后记得在Direct3D_Clear()中释放掉