Latest: adam_16oct2006.plan
Well tonight I have a treat for you, after much slaving I actually have graphics rendering via OpenGL. I’m still working on getting cross platform text to render which can be seen from the red boxes, but it will get there.

Early Graphics

So a lot of work has gone into the SimulationResourceManagerService as is evident from the graphics. Both design wise and coding hours wise. So much so I almost forgot the joys of creating a new Framework service which had been such a frequent occurrence early on. Well the latest task is moving through the 3D scene with user input.

After some designing I realized a service which I had theorized about earlier in a more narrow application could actually be expanded to solve some design issues I was encountering with user input controlling the camera.

And so the EventRelayService was born earlier then had been thought. It is used by Elements to register an Event which should take place at a latter moment in time. Either via a timer ( a Timed Event ) or at the end of the current frame cycle ( a Frame Cycle Event ). This is used by the User entity so that the user entity may register movement input and accumulate all of the desired movement commands and not inform it’s subscribers that it is moving until all of the input is accumulated. So when the first movement input is received by the User entity the User entity registers a RelayEvent with the EventRelayService.

At the end of every Frame Cycle just before rendering the EventRelayService dispatches all Frame Cycle events. So the RelayEvent that the User entity registered receives an event telling it to notify all it’s subscribers that it has moved. Then the SimulationResourceManagerService who listens to all Resources ( the user entity is a Resource ) receives a movement event and acts accordingly adjusting the scene graph and what ever else may be concerned with the event.

It is really a much more versatile Service then the scenario just described but that is one good example of it’s usefulness.

One these Services are fully hooked up together it should not take much at all to finish the user controlled movement and rotation functionality.

Also quite serendipitously I have come up with a way of implementing a project wide unified logging solution with a new header file and some improvements to my logging class. My logging techniques have been incrementally improving over the entire life span of this project and I think this is a huge step forward to something nearing a final solution to my logging problems.

Then I will begin integrating my v30 BSP loading and rendering code into the SRMS which will be quite a large undertaking. But with that completed the minimum deliverable as described for this Independent Study will be complete and I can move onto enhancements that will show the true power of the Framework!

- Adam

Post a Comment
Your Name:
Your Comment:


Commenting has been permanently disabled