Jump to content

  • Log In with Google      Sign In   
  • Create Account


HDR Confusion


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 jeffkingdev   Members   -  Reputation: 733

Like
0Likes
Like

Posted 13 October 2012 - 11:37 AM

I implemented HDR + Bloom. My HDR seems a bit unstable and I don't know why. I was basically following the HDR Pipeline sample in the DX SDK + resources online.

I have these problems:
  • My scene gets blown out all the time. If I look at any dark part of the scene its blown out (see pic)
  • If I move around, small changes in luminance values seem to make the ground flicker (I don't show this, but it happens)
  • If I do lower my exposure to like 0.24. It does help, but then the overall scene is dark. If I then play with my lights, all I see is white spots on the terrain, but the rest of the terrain is still dark.
As you can see, I'm really confused. Here's part of my Hdr post process shader:

....

// fExposure is = 1.0 (for simplicity)
// fGaussianScalar is = 1.0 (for simplicity)
// l.r = average luminance value (what you see in the pictures in the box I highlighted)
// l.g = max luminance value from the original texture.
// final = texture color.

float Lp = (fExposure / l.r) * max( final.r, max( final.g, final.b ) ) + 0.1;
  
float LmSqr = (l.g + fGaussianScalar * l.g) * (l.g + fGaussianScalar * l.g);
  
float toneScalar = ( Lp * ( 1.0f + ( Lp / ( LmSqr ) ) ) ) / ( 1.0f + Lp );

finalCol = (final) * toneScalar;
finalCol.a = 1.0;

return(saturate(finalCol));


Here is what happens when I look at a white sky:
hdr-sky.jpg

Here is what happens when I look at the ground:
hdr-ground.jpg

Here is what happens when I set the exposure to 0.24 and look around:
hdr-lowexposure.jpg

Sponsor:

#2 wngabh11   Members   -  Reputation: 128

Like
0Likes
Like

Posted 13 October 2012 - 06:18 PM

i m not very sure about the format per pixel of the texture( variable final ). if is a kind of 16-bit type, it may beyond 1.0 and thereby it may be white though you saturate it. you can trace or debug by PIX, a software which is used to debug HLSL, or use nsight if you have 2 video cards. When tracing, you can watch the value variable final and finalCol.

#3 jeffkingdev   Members   -  Reputation: 733

Like
0Likes
Like

Posted 13 October 2012 - 06:31 PM

wngabh11,

It's a normal diffuse texture (8-bit per pixel, 32-bit texture). The toneScalar will +, or - the value which might make it blow out like it is.... problem is, is that what happens? I play games with HDR and it's a subtle effect. Mine is extreme and if I lower the exposure to get a more subtle effect, the scene is so dark, I can't get a normal blue color to show up.

When my exposure is set to 0.24, my white's are gray, I can't get them a true white.

Thanks
Jeff.

#4 wngabh11   Members   -  Reputation: 128

Like
0Likes
Like

Posted 14 October 2012 - 01:36 AM

Jeff.

your problems is vague for me, because there are many factors that can cause the problems. But as you said that changing the exposure can change the color, i guess, there must be some wrong parameters. And the white color also indicates that you color value is beyond 1.0. Hence, i hope you to check the value of variables when running the program. Debug them. it is not complex.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS