Hi, I have written a shader which should do pixel lighting with parallax bump mapping and shadow mapping.
I’d like to sample the depth map 6 times at a minimum. There is another depth map which i sample only one time where the objects are rendered a bit bigger, i need the value from this read for offseting the reads on the first map and getting some kind of soft shadows. That’s why the reads in the first map are dependant on the reads in the second.
This works well - in software modus on my Radeon 9800 Pro.
And in hardware when i only do 2 reads instead of 6.
But without jittering it looks not that good. If I sample a noise texture (3 times for getting some different noise values, 6 reads per 6 samples of the depth map would be even better [the depth maps are cube maps so I need 3 noise values per lookup]) the depth map lookups are dependent on 2 other samples.
And now the software mode produces crap. Everything seems to be in shadow. I’m pretty shure that this is not my fault, when i do only 2 lookups everything is ok; (i have 2 slightly offseted half-shadows with noisy edges; the offset becomes bigger if the light source is nearer to the object)
But if I add another similar read, the software modus won’t bring the desired results (but only with 2 dependencies, with one everything is ok)
What do you think about this? Is the driver forced to calculate the same in software mode on cpu?
Is this a known bug? I have Catalyst 4.12.
Thanks for trying to understand my confused english