I was worried that this won’t make it because the wiki page hasn’t been updated since mid June. Nice to see it working.
Oh, in the research paper I saw for deep shadow maps it showed shadows for particle objects, will this eventually work with halo particles and will this work for the new soft ray shadows being worked on by Broken?
Wahoo! DSM buffers actually work! Well, sortof. The idiotic bug where DSM maps can only be initialized in the ztransp pass function is still there, so you have to a) have all the objects in your scene be ztransp with an alpha less then 1.0 (0.999 will do), and b) only render in one big tile, e.g. with x/yparts = 1.
Hope this helps!
If you go into the Render buttons in the Scene section (F10), in the Render area the Xparts and Yparts settings are underneath the OSA settings. Set them both to 1. Let us know if you need a screenie.
Woo! I got it to work… Takes aaaaaaaaaaaaaaaaaaaaaages to render though! Does anyone know what the speed of the DSM calculation relies on - i.e. is it RAM, CPU or what?
new release :
The evil bug where everything had to be transparent is now gone
(eh I might’ve already committed that part of it, can’t remember).
I fixed that by making zbuf.c not use any globals, though I did
end up having to to the “R = *re” trick that was being used before
to something that was causing random crashes (I would’ve just
started out with that, however it wasn’t still I de-globaled zbuf.c
that I found out about it).
In terms of major bugs, biggest one is that alpha still isn’t being
properly accumulated. Also for some rendering having samples set to
1 in the lamp settings causes the shadows to not render
The code now also renders in >= 256 sized tiles, then dices to 35
sized tiles (necassary for caching), this speeds things up a bit.
One thing to note for users: If you set the rt button to something
high, like 500 or 600 it’ll go a lot faster. This controls the threshold for an internal optimization; higher values are faster/take less disk space for caching, but are also potentially less accurate.