Saturday 21 August 2010

Camera views askew

Taking a little time-out from debugging to recharge my batteries, something slightly less frustrating, camera views.

Not helped by my original program flow which had camera commands in-line where needed, and I still have to go through and fix up TrackIR to work with the new class but shouldn't take long. TrackIR is really simple to implement in this kind of software.

Crew positions are parented to a pivot and then offset so it was important to retain any camera/parent relationships, add offsets to source entity location and target entity location (in case the view needs to point-at some object but add some fudge factor, such as trackIR offsets or something).

So I untangled the inline camera code and added a new class with SetPostion() Move() SetParent() SetOffset() etc.. and added GameCamera.Update() which does the final camera positioning. Now changing cameras is as simple as updating the GameCamera class you wish to render the viewpoint from. It will be possible to add camera views from an external source with a bit of extra code.

These screens are not using the current terrain so still a bit washed out and using the old veg (will update my test build in the next few days, it just takes longer to load which doesn't help testing).

Blade tip cam will be added again shortly. And I need a key to toggle the canopy doors (yes they do swing open and closed).





And I remembered to increase the TADS camera range to 6km, I'm not using deferred lighting on the TADS buffer, just shader effects for light amplification and edge detection but need some atmospheric fogging to fade into the distance. Scratching my head on best way to implement that one.

*edit* Hellfire cam on the test range.

1 comment:

  1. actually you are doing that great!
    lighting is really good.
    and as an artist, I totally have no Ideas how should you do that effect. but I can help you to scratch your head! if you need!:)
    great job dude.. thumbs up!

    ReplyDelete