在ZFXEngine中支持对多个窗口进行渲染,为了实现这个效果,需要使用以下的几个函数来创建不同的后备缓存。
CreateAdditionalSwapChain,这个函数会创建其他独立的交换链,也就是后备缓存,我们可以根据不同的缓存属性来创建不同的交换链。
SetRenderTarget,这个函数会设置新的后备缓存,为当前活动缓存,也就是说这个时候对DirectX进行的操作,都会在这个目标缓存上进行操作。
还有一点需要注意的是,当我们使用了交换链来做为当前的活动缓存的时候,我们将后备缓存的数据拷贝到屏幕上的时候,一般会调用Device->Present函数,但是,如果当前活动缓存是交换链的话,我们不能够调用Device->Present,而是调用当前活动的交换链Chain->Present。这样才能够将后备缓存拷贝到屏幕上。