Hi kosmonautgames, Hi Jjagg,
“with joint forces we are strong” !!!
It works now. My first attempt could not work because the Albedo Map is part of a “Multiple” RenderTargetView.
The next Shader will not be accepted to write to the first RenderTarget if the PixelShader Output Format does not match the Tripple Signature.
So we have to set the Albedor RenderTarget alone. My Problem was the whole time, that with the Method SetRenderTarget of Monogame the new RenderTarget is automatically cleared. This i could NOT prevent even when setting
=> “KeepContents when initializing the RenderTarget” option
To my very humble opinion, because i am the smallest Light here around, this option must have another meaning ??
Now i succeeded just to set the RenderTarget directly by accessing the SharpDX Device Outputmerger see the follwing code.
Now i can exactly do what i used to do, just taking care of the order of the draw calls an fill the Rendertargets additionally by the desired blendstates without the need to have one or two additional draw cycles.
Maybe there is a better Monogame intern Solution but i did not have success.
// first get the Array of 3 Rendertargets currently active in SharpDX
SharpDX.Direct3D11.RenderTargetView GetRenderTargets = Gl.Device.ImmediateContext.OutputMerger.GetRenderTargets(3);
// Now take the first which is the Albedo Map and make a SetRenderTarget as usual in SharpDX
// the Rendertarget is NOT be cleared by Default in SharpDX