• entries
    422
  • comments
    1540
  • views
    488555

w00t

Sign in to follow this  
jollyjeffers

76 views

Fixed it

I was compiling this to a ps_1_4 target:

sampler sampShadowContribution	: register( s0 );
sampler sampCurrentFrame : register( s1 );
sampler sampPreviousFrames : register( s2 );

float4 AdditiveCombine( in float2 t : TEXCOORD ) : COLOR
{
float4 shadow = tex2D( sampShadowContribution, t );
float4 current = tex2D( sampCurrentFrame, t );
float4 previous = tex2D( sampPreviousFrames, t );

return ( shadow * current + previous );
}


Thus the outputs get clamped to [-1,+1], thus no HDRI data was emitted by the additive combiner. I'll have to do some research, but it would appear that ATI were more leniant and allowed values outside that range. For some reason, [-8,+8] range and ATI sound familiar...

I was damn sure that I was using SM2 (and higher) exclusively throughout this project - but the above sucker was the first shader I implemented, and buried away deep in my codebase. It's also the only "stand alone" pixel shader - so when I checked all my effects files for SM2 paths I overlooked this one.

Back to some Direct3D 10 R&D [grin]

Yay!
Jack
Sign in to follow this  


3 Comments


Recommended Comments

Thanks for the comments!

In my experience it is almost always the simplest of things. Still, pretty annoying though!

I suppose I should be thankful it wasn't some fundamental architecture/algorithm problem [oh]

Jack

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now