Jump to content
  • Advertisement
  • entries
  • comments
  • views


Sign in to follow this  


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]

Sign in to follow this  


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]


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
  • Advertisement

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!