so as you could see I'm trying to use a rendertarget in the next shader. So I'm postprocessing some data and want to use it as a fullscreentexture in the next shader. So far so good, no problem with shaderresourceviews and setting and so on.
But I have the following problem: I want to use the previously generated texture on the whole screenspace and not only on an object in the screen, atm I can see in the center of the screen with a part of texture with a big border around it which has the color of the clearing color.
I'm trying to implement a SSAO algorithm, just so you know, but I'm still pretty new to HLSL and DX10.
In the first shader I write out normals and depth for each pixel on seperate rendertargets and afterwards I set them as shaderressources for use in SSAO shader.
[source lang="cpp"]Texture2D g_SSAODepthMap : register(t0);Texture2D g_SSAONormalMap : register(t1);struct VSInput{ float4 m_Position : POSITION float4 m_Color : COLOR; float4 m_Normal : NORMAL};struct PSInput{ float4 m_Position : SV_POSITION; float4 m_Color : COLOR0; float3 m_Normal : NORMAL; float2 m_Tex : TEXCOORD;};// SSAO Vertex ShaderPSInput VSSSAOShader(VSInput _Input){ PSInput Output = (PSInput) 0; Output.m_Position = _Input.m_Position; Output.m_Tex.x = 0.5 * (1 + _Input.m_Position.x); Output.m_Tex.y = 0.5 * (1 - _Input.m_Position.y); return Output;}// SSAO Pixel Shaderfloat4 PSSSAOShader(PSInput _Input) : SV_Target0{ float4 result = g_SSAODepthMap.Sample(samplerLinear, _Input.m_Tex); result += g_SSAONormalMap.Sample(samplerLinear, _Input.m_Tex); return result;}[/source]
I have to say I didnt implement SSAO, this is just for testing and I'm using DirectX 10 and ps_4_0 and vs_4_0.
Maybe I didnt understand how to get the right coordinates in the textures.
I read something about a Fullscreenquad and also tried that, but it doesnt really worked, it would be pretty nice if somebody would be able to describe how I can use a texture as, i would say, layer.
I would appreciate any help, because I'm really stuck here.
Edited by Farci, 26 July 2012 - 02:55 PM.






