I'm trying to make a simple post processing pipeline, depicted as follows with 3 effects in this case:
|------| |------| |------|
I -->|Shader|-O->|Shader|-I->|Shader|-O->
|------| |------| |------|
I and O stand for a pair of 2 ShaderResourceViews/RenderTargetViews.
My plan was to do the following:
- Create a shader resource and render target for each the input and the output
- Apply the shader
- Swap input and output to be used for the next shader
- Goto 2.
This sounds somewhat confusing, but basically the same 2 ShaderResourceViews /RenderTargetViews should be reused for each stage of the post processing pipeline.
Is this possible, or do I have to create separate input and output ShaderResourceViews /RenderTargetViews for each stage of the postprocessing pipeline?