close

最近剛接觸DX11

想把經過一種shader過後的Texture 再重新拿來 經過另外一種新的shader使用

原來要先設置RenderTarget 然後把他Render到buffer上後

再把他轉成可用的Texture拿來使用

 

首先先Creat一張你要畫的空白Texture出來 然後設定這張Texture為你要的RenderTarget

result = device->CreateTexture2D(&textureDesc, NULL, &m_renderTargetTexture);

result = device->CreateRenderTargetView(m_renderTargetTexture, &renderTargetViewDesc, &m_renderTargetView);

result = device->CreateShaderResourceView(m_renderTargetTexture, &shaderResourceViewDesc, &m_shaderResourceView);

然後設定RenderTarget

deviceContext->OMSetRenderTargets(1, &m_renderTargetView, 0);

接下來直接畫上去

在直接ShaderResourceView就可以拿到經過shader畫好的Texture了

 

記得要把RenderTarget設定回原本的backBuffer 不然你怎麼Render都會看不到圖

 

原來就這麼簡單,我還以為要用GetBuffer之類的去拿~~傻傻地找了兩三個小時

arrow
arrow
    全站熱搜

    台灣李宏感 發表在 痞客邦 留言(0) 人氣()