summaryrefslogtreecommitdiffhomepage
path: root/contrib/Opcode/TemporalCoherence.txt
blob: 8fde1588d7bb54680ae292c3360c16fb7c2b00d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

> Hi John,
>
> I know I'll forget to tell you this if I don't write it right now....
>
> >(2) How is the receiving geometry for the shadow decided?
>
> I wrote about an LSS-test but actually performing a new VFC test (from the
> light's view) is the same. In both cases, here's a trick to take advantage
> of temporal coherence : test the world against a slightly larger than
> necessary LSS or frustum. Keep the list of touched surfaces. Then next
> frame, if the new volume is still contained within the previous one used
for
> the query, you can reuse the same list immediately. Actually it's a bit
> similar to what you did in your sphere-tree, I think. Anyway, now the
O(log
> N) VFC is O(1) for some frames. It's not worth it for the "real" VFC, but
> when you have N virtual frustum to test to drop N shadows, that's another
> story.
>
> Two downsides:
> - You need more ram to keep track of one list of meshes / shadow, but
> usually it's not a lot.
> - By using a larger volume for the query you possibly touch more
> faces/surfaces, which will be rendered in the shadow pass. Usually it's
not
> a problem either since rendering is simply faster than geometric queries
> those days. But of course, "your mileage may vary".
>
> Happy new year !
>
> Pierre