While doing that, we had an express need to incorporate a pre-built physics and animation system. The reasoning was, in our previous games Polarity and Rogue Squirrel Returns, I had written our physics and collisions from scratch (basic acceleration, velocity, momentum, bounding sphere, bounding box, and bounding plane). The amount of time and effort required was tremendous, and while the code was re-usable, more optimized and organized technologies would have saved us a lot of time. So, for this, we included rolling Havok Physics and Animation into our engine. This required writing an extension library, which we could use for handling all of our interactions with the Havok system. Currently, we've incorporated Havok Physics into the system, with specialized event handlers for catching collision events. We are still working on getting Animation into the system.
So, what is next on the agenda? Next, is to take our DirectX 11 library and extend aspects of it to allow for multi-pass special effect rendering. To accomplish this, I will be doing three specific things:
- Extracting out code used to render and put it into a more generalized "Pass" object, which knows what objects it wants to render.
- Give the pass object as set of input and output "Buffers", which represent the render targets they will attempt to read from and render to.
- Create a manager that keeps track of these "Buffers", enabling quick fetching and storing of Buffers as soon as they're available.
- Create a unified light manager to manage all of the lights available in the scene. The manager should be capable of getting all of the relevant lights (up to a max number) for a given object in the scene.
No comments:
Post a Comment