I've heard that you need to add a texture to the pixel shader as the back buffer...

No, it does not work like that. PS output is always to backbuffer. It's not a texture. It's a buffer. Set it using SetRenderTarget. If the used resource is a texture, it will be filled for you, no need to copy.

I've heard that you need to add a texture to the pixel shader as the back buffer...

No, it does not work like that. PS output is always to backbuffer. It's not a texture. It's a buffer. Set it using SetRenderTarget. If the used resource is a texture, it will be filled for you, no need to copy.

So it isn't possible to render PS output to seperate render states other than the back buffer? What if i want to render to multiple different states, and then combine them all into the back buffer later?

When you create your device, you usually create a "back buffer" with it. This "back buffer" is a "render-target".
You can also create your own textures that are also "render-targets".
As mentioned above, the SetRenderTarget function determines which render-target you are currently drawing to.

You can use SetRenderTarget to start drawing to your own texture.
Then you can use SetRenderTarget to start drawing somewhere else, and at the same time also use SetTexture to bind the 1st texture to one of your sampler slots, so you can read the 1st texture and ouput it to the new render-target.

When you create your device, you usually create a "back buffer" with it. This "back buffer" is a "render-target".You can also create your own textures that are also "render-targets".As mentioned above, the SetRenderTarget function determines which render-target you are currently drawing to.

You can use SetRenderTarget to start drawing to your own texture.Then you can use SetRenderTarget to start drawing somewhere else, and at the same time also use SetTexture to bind the 1st texture to one of your sampler slots, so you can read the 1st texture and ouput it to the new render-target.

Ah, i see :] However, would creating a lot of render states slow down my program significantly? if my render states have to be textures that are 1920 / 1080 pixels won't that be bad for the graphics card? Like, how bad would 10 be every loop for the average consumer do you think?

n.b. you mean "Render-targets" -- "render states" are any value that affects the current drawing operation, such as which shader/textures/vertex-buffers/render-targets have been set, or if depth-testing or alpha-blending are enabled.

A 1920*1080 RGBA 8-bit per channel texture is about 10MiB, so you can easily use up a lot of your GPUs RAM if you make too many.A lot of games reduce their memory requirements by "ping-ponging" between two render-targets.1) Render to A2) Render to B (reading from A)3) Render to A (reading from B)etc

The processing (time) cost of these kinds of post-processing effects depends on the total number of pixels drawn (whether they're in the same two targets over and over again, or whether they're in a series of unique targets).