sunnycase吧 关注:16贴子:918
  • 12回复贴,共1

DX9动态贴图使用。。

只看楼主收藏回复

创建:
dev->CreateTexture(512, 512, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &g_pTexture, NULL);
// 顺带的z-buffer(对于UI而言,可以忽略,关闭z-buffer test就好了)
dev->CreateDepthStencilSurface(512, 512, D3DFMT_D24S8, D3DMULTISAMPLE_NONE, 0, FALSE, &g_pDepthStencil, NULL);
使用:
//记录原始缓冲区
LPDIRECT3DSUFACE9 pFrameBufferBackup, pDepthBufferBackup;
dev->GetRenderTarget(0, &pFrameBufferBackup);
pFrameBufferBackup->Release();// 不明其义
dev->GetDepthStencilSurface(&pDepthBufferBackup);
pDepthBufferBackup->Release();// 不明其义
LPDIRECT3DSURFACE9 pSurface;
g_pTexture->GetSurfaceLevel(0, &pSurface);
dev->SetRenderTarget(0, pSurface);
dev->SetDepthStencilSurface(g_pDepthStencil);
dev->Clear(xxxx);// 清除缓冲和画面,代码略
Render();// 渲染,代码略
pSurface->Release();// 依旧不明其义,可能只是减少接口指针引用数吧
dev->SetRenderTarget(0, pFrameBufferBackup);
dev->SetDepthStencilSurface(pDepthBufferBackup);
以上,将Render()内的对象渲染到了Texture里面
之后使用之即可


1楼2011-04-15 22:27回复
    。。我的意思是把小纹理复制进去。而不是Render进去 毕竟设计模式还不能Render的


    IP属地:北京2楼2011-04-15 22:46
    回复
      回复2楼:
      文字呢?


      3楼2011-04-15 22:47
      回复
        回复3楼:
        Sprite.Render啊。 在GUIMgr.Render里调用。


        IP属地:北京4楼2011-04-15 22:49
        回复
          回复4楼:
          不是一次性渲染么?


          5楼2011-04-15 22:50
          回复
            回复5楼:
            GUIAnim GUILabel除外的一次性渲染


            IP属地:北京6楼2011-04-15 22:53
            回复
              请问怎么处理层次??


              7楼2011-04-16 09:43
              回复
                回复7楼:
                下午就知道了。。话说你不用上课的么


                IP属地:北京8楼2011-04-16 10:16
                回复
                  回复8楼:
                  上课
                  放学要3点了


                  9楼2011-04-16 11:38
                  回复
                    回复9楼:
                    。。我们要下午5点了。 还要考理综。。。


                    IP属地:北京10楼2011-04-16 11:46
                    回复
                      回复10楼:
                      膜拜


                      11楼2011-04-16 11:53
                      回复
                        晕了……


                        IP属地:英国12楼2011-06-15 08:31
                        回复
                          额……现在终于能看懂了……


                          IP属地:英国13楼2011-06-24 17:49
                          回复