GAM531/Brazuca

From CDOT Wiki
Revision as of 18:04, 7 December 2014 by Bruno Di Giuseppe Cardoso De Carvalh (talk | contribs) (Enhancement)
Jump to: navigation, search


GAM531/DPS931 | Weekly Schedule | Student List | Project Requirements | Teams and their Projects | Student Resources

Brazuca

Repository

[1] -> Team Repository

Team Members

Progress

Lab Implementation Progress

Lab Direct X Open GL
Lab 1 Karina ------
Lab 2 Karina ------
Lab 3 Karina ------
Lab 4 Karina ------
Lab 5 Karina ------
Lab 6 Bruno ------
Lab 7 Bruno Bruno
Lab 8 Bruno Bruno
Lab 9 Bruno Karina
Lab 10 Bruno Karina

Enhancement

The enhancement that we selected is "Sphere Collision". Second option in case it's taken is Terrain Generator (2/3)

For the Sphere Collision enhancement, we created a Sphere Manager, which constantly, in between renders, checks if any sphere collided with any other.

From then, we created a Sphere object which contains all of the sphere's necessary information, such as radius, ID, callback function to execute on a collision and any other object it may need to have access to (void* data).

The Collision check is quite simple, you just need to check if any 2 given spheres' radii sum is bigger than the distance between them.

For that, our Sphere Object inherits from Scene Object, so all sphere can not only be attached to a node in the game world, but also contain position information for the collision check.

From then on, all you have to do is create the spheres in your scene, attach them to existing nodes, and activate them, as you would do with any other Scene Object(actors, cameras, lights, etc). To activate a Sphere, you have to set its radius and callback functions and, of course be attached to a node.

Upon collision, the Sphere Manager will call the Sphere's operator(), which is going to receive the collided sphere's pointer and from the call the callback function defined in the scene by the programmer.

In our test Scene, we have 2 objects moving towards