Original Post
Hi all, I have a working implementation of Exponential Shadow Maps, but there are a couple of aspects which I don't fully understand and would like clarified. Firstly, I am currently writing linear depth (though multiplied by a depth scale factor) into the shadow map, which also appears to be what Marco Salvi does in his sample code. However, during his 'Exponential Shadow Maps Rendering Breakdown' he states:
Quote:Which implies to me that maybe I should be rendering something else ( perhaps exp(linearDepth) ). I think my current approach is correct, but can anyone confirm? My second question is why do we have to perform the blur convolution in log space (especially given that I am writing linear depth)? Marco Salvi's example appears to go into log space, perform the convolution, and then come out of log space. But if I replace the log space convolution with a normal convolution I still get an acceptable result (discussed here but went off track). Is the log space convolution really necessary? Does it address real mathematical issues, or just precision/range issues? Perhaps my two questions are related, and you only have to perform a log space convolution if you wrote exponential values into the shadow map, or something like that. But it doesn't seem to be the case from looking at his code. Anyway, thanks for any insight.
1. Render the exponential shadow map as seen from the light. (Note - my emphasis) 2. ...