I've started using a new engine and am going to modify the shadow generation. I'm currently strugling with implementing hardware PCF in the shader. [font=Consolas][size=2]SampleCmpLevelZero [/font]is always returning 0 and the screen goes black. The code used to work before I optimized. I'm calling
SampleCmpLevelZero just returns black!
Hey
I've started using a new engine and am going to modify the shadow generation. I'm currently strugling with implementing hardware PCF in the shader. [font=Consolas][size=2]SampleCmpLevelZero [/font]is always returning 0 and the screen goes black. The code used to work before I optimized. I'm calling
I've started using a new engine and am going to modify the shadow generation. I'm currently strugling with implementing hardware PCF in the shader. [font=Consolas][size=2]SampleCmpLevelZero [/font]is always returning 0 and the screen goes black. The code used to work before I optimized. I'm calling
[font=Consolas][font=Consolas]SampleCmpLevelZero [/font][/font]with the same uv and depth that functioned well with the unoptimized code and I'm using following sampler state:
[font=Consolas][font=Consolas]SamplerComparisonState ShadowSampler[/font][/font]
[font=Consolas][font=Consolas]DXGI_FORMAT_R24_UNORM_X8_TYPELESS, [font=Consolas][font=Consolas]DXGI_FORMAT_D24_UNORM_S8_UINT[/font][/font][/font][/font]). What I could see all other settings were identical.[/font]
[font=arial,helvetica,sans-serif]When I view the process in PerfStudio the depth map seems valid (and it workes if I just call Sample). What can be the reason for this behaviour. Has anybody experienced the same or know what I should check?[/font]
I don't use effects so I might be wrong about this, but I don't think that there's a "ComparisonFilter" member. According the docs there's only "Filter". So you should try setting Filter = COMPARISON_MIN_MAG_LINEAR_MIP_POINT and see if that works. This would also be consistent with how it works if you set up a sampler desc structure in C++.
Thanks MJP. Maybe you're right, I've seen examples of both implementations?
However that didn't solve my problem but I found another solution. It turned out that I had to set the sampler on the application side ([font=Consolas][font=Consolas]PSSetSamplers[/font][/font]). This was only the case for
However that didn't solve my problem but I found another solution. It turned out that I had to set the sampler on the application side (
[font=Consolas][font=Consolas]PSSetSamplers[/font][/font]). This was only the case for
[font=Consolas][font=Consolas]SamplerComparisonState[/font][/font], all other samplers worked fine when declared in the shader. The reason I didn't try that sooner was that it got a little tricky to do that in our engine framework. I don't know why this is happening but maybe there's some minor driver bug? I'm using ATI hardware.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement