A small update I was tackling today - and that is skeletal animation. Now, doing anything animated with ray tracers is quite a pain...
- Static scenes - you simply build acceleration structure once ... and then you can move camera around, and everything tends to be nice and easy
- Scenes with dynamic objects - multi-level BVHs can rescue you here, you build bottom level BVHs and then rebuild top level BVH, also this enables instancing as side product
- Scenes with dynamic geometry - you may go a bit nuts in here, as you NEED to rebuild BVH for given geometry
So, current strategy for the DOOM project is somehow working, basically the scene allows you to add render nodes, which can be defined as either STATIC or DYNAMIC. The STATIC ones have BVH built once in the beginning, and never rebuilt again. On the other hand the DYNAMIC ones have BVH rebuilt every single frame. All of these bottom level BVHs are then leafs of top level BVH that is being rebuilt every single frame.
My apologize for giving this in form of small post, and not a full featured article (once the Challenge is over, I already have quite a pile of topics I'd absolutely like to write about, most of those are related to ray tracing).
In the meantime, I can at least feed you with simple sample...