1、我的显卡只有64M显存,我需要按页随数据的增删实时渲染纹理,渲染速度很快能超过100帧,而可渲染纹理只能建立在显存,页太多的话必然会占满显存。
2、所以我希望保存所有渲染结果到系统内存动态纹理,可渲染纹理又不能锁定,所以我试了600*600的纹理,先保存到内存文件时间为0.2秒,再由内存文件创建动态纹理时间为0.016秒,如此实时修改数据帧速率太低,并且一个页更改后,可能后面的页都需要更新,那就更没法想象了!
3、那有没有什么好方法,将渲染后的纹理的数据快速复制给动态纹理?
2、所以我希望保存所有渲染结果到系统内存动态纹理,可渲染纹理又不能锁定,所以我试了600*600的纹理,先保存到内存文件时间为0.2秒,再由内存文件创建动态纹理时间为0.016秒,如此实时修改数据帧速率太低,并且一个页更改后,可能后面的页都需要更新,那就更没法想象了!
3、那有没有什么好方法,将渲染后的纹理的数据快速复制给动态纹理?
直接用D3D纹理混合(Texture Blending)功能不可以吗,
D3D最多支持8层纹理混合,LZ可以参考这方面的DXSDK
2、渲染纹理A表面AS,动态SM纹理B表面BS,普通VM纹理C,要求ABC尺寸与格式一致
3、pDev->GetRenderTargetData(AS, BS);
需要渲染B时
pDev->UpdateTexture(B, C);
使用C渲染……