Subdivision and displacement speedups
Posted: Wed Sep 23, 2015 2:55 am
Hi all,
I've been doing a bit of work on speeding up the subdivision and displacement code. Actually I have mostly rewritten the subdivision code.
Some results:
Old: head_test, Indigo v3.8.26, num subdivs 4, resulting num quads=2263552, time taken: 1.989 s
New: head_test, Indigo 4.0.x, num subdivs 4: resulting num quads=2263552, time taken: 0.54047 s
Adaptive quad displacement test: (~82741 resulting quads)
Old: 0.933 s
New: 0.06722 s
This one is heaps faster because the displacement is given by a texture, and a displacement error threshold, and the logic for this combination has been greatly improved.
I've been doing a bit of work on speeding up the subdivision and displacement code. Actually I have mostly rewritten the subdivision code.
Some results:
Old: head_test, Indigo v3.8.26, num subdivs 4, resulting num quads=2263552, time taken: 1.989 s
New: head_test, Indigo 4.0.x, num subdivs 4: resulting num quads=2263552, time taken: 0.54047 s
Adaptive quad displacement test: (~82741 resulting quads)
Old: 0.933 s
New: 0.06722 s
This one is heaps faster because the displacement is given by a texture, and a displacement error threshold, and the logic for this combination has been greatly improved.