Really the character collision in that video is 2D. There’s a couple ways I could see doing this:
-
Render a simplified version of your scene (e.g. no lighting) and use pixel based collision, then update your character position and render the full scene.
-
Save your last rendered scene to a texture (when you render your scene you could render collidable geo to a simple B&W texture) and use it as your basis for pixel based collision, this has the benefit of not needing an additional rendering pass but your collision will be a frame behind (not sure that it matters in this case though).
-
Grab the collision in the scene (culled by camera frustum) and use the camera and projection matrices to create a series of 2D collision objects - or one big poly soup object. Not sure how well this would work.