最近剛接觸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之類的去拿~~傻傻地找了兩三個小時
留言列表