DOOM: Skeletal Animations & Dynamic BVHs

Published September 15, 2019
Advertisement

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... 

 

Previous Entry DOOM: Multi Level BVHs
Next Entry Ludum Dare 45
5 likes 0 comments

Comments

Rutin

?

September 15, 2019 02:54 AM
jbadams

Impressive progress as always!

September 16, 2019 02:54 AM
lawnjelly

Absolutely awesome, using a ray tracer to do doom! :D You guys are all on fire!

September 20, 2019 08:07 AM
Vilem Otte

@lawnjelly If it goes well, I'm considering either:

  • Changing repository status to public on my server (maybe fork it to Github)
  • Publishing that ray tracing library as a library (with few examples)
  • Writing some articles about ray tracing dynamic scenes

The library I'm using (a custom one) is OpenCL based renderer - it doesn't have hard syntax (it might need a review or two - and maybe updating the interface after the project - as I'm adding classes/methods whenever I need them for this project).

I'm currently busy making and animating a daemon from hell. 100% programmer's art.

September 20, 2019 02:36 PM
asunbb

Great, I look forward to it.

September 21, 2019 04:00 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement

Latest Entries

Merry Christmas!

7703 views

Progress

3733 views

Roadmap for 2020

5268 views

DOOM: Post Mortem

4873 views

DOOM: GROOM

4279 views

DOOM: Placeholders

4848 views

Ludum Dare 45

4581 views
Advertisement