Jump to content
  • Advertisement
  • entries
    26
  • comments
    11
  • views
    8576

Project: DOOM

DOOM: Skeletal Animations & Dynamic BVHs

Vilem Otte

1416 views

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

 



0 Comments


Recommended Comments

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

Share this comment


Link to comment

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

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!