Jump to content
  • Advertisement
Sign in to follow this  

Overlaying images in deferred rendering

This topic is 2207 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hy there,
i'm working on a small techdemo and i implemented the deferred renderer by cansin. Everything is working well so far. So i decided to modify it. I added a skysphere which is rendering onto a separate RenderTarget.

The final compositing shader overlays every drawn element on to the SkyMap.

float4 Color = tex2D(Diffuse, input.UV); //gets DiffuseMap
float alpha = 1; //calculate alpha
if (Color.a < 1)
alpha = 0;
float4 Lighting = tex2D(LightMap, input.UV); //gets LightMap
float4 Sky = tex2D(SkyMap, input.UV); //gets SkyMap
//float4 output = float4(Color.xyz * Lighting.xyz + Lighting.w, 1);
float4 output = float4(Color.xyz * Lighting.xyz + Lighting.w, 1) * (1 - alpha) + tex2D(SkyMap, input.UV) * alpha;
output = float4(Color.xyz, 1) * (1-alpha) + tex2D(SkyMap, input.UV) * alpha;
return output;

As you can see i dont allow smooth alphavalues. They just can be 0 or 1. This kind of masking produces some outlines around every drawn object. I dont want that. You can see this behaviour on the attached screenshot. I know from blender, that this could be a problem with premultiplied values. But i dont know how i can do that in HLSL. So please give me some advices. Thats disturbing me..

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!