In the trunk I have added a method to quickly determine an approximate convex hull from a set of points, and also a method to compute the Minkowski Difference of the two hulls. Eventually, there will be a method to perform GJK on the two hulls so that the amount of interpenetration can be determined and the appropriate collision response performed. There are other methods, which I may implement in the future, such as the Separating Axis Theorem since it really isn't that far off from what I'm doing with GJK.
As an engine, The Render Engine needs to provide these operations to make game development that much easier on a potential developer. Even though the engine does resource loading and rendering, it has to provide a more robust feature set for all potential problems which must be solved. With the scene graph being fairly solid, and resource loading working as it should, I can focus on adding features which developers can use to enhance their game experience.
To me it seems like I've done a lot already, but I've only just scratched the surface. To be a complete engine, there needs to be at least one implementation of certain features such as:
- Narrow-phase collision detection
- AI/Pathfinding
- Multiplayer/Networking
- Tilemap management
- UI Management
Of these, I was planning on everything except the collision detection. As it stands now, the engine is already quite robust but it has a ways to go before it is truly a complete solution.
Nice piece of work. Keep it up :)
ReplyDelete