GSoC/GCI Archive
Google Code-in 2012 Copyleft Games Group

PySoy: Box Subdivision

completed by: Samuel Kim

mentors: Amaury Medeiros, Arc Riley, Tony Young, David Czech, Mayank Singh

Currently soy.bodies.Box renders 6 flat faces, each made of 4 verticies making 2 triangles. Change this to support subdivision based on size such that larger box faces have more triangles as follows:

Box Subdivision

Note that the subdivision needs to be dimension-independent; if (1, 1) is the smallest size with 4 faces, then a (4, 1) should have 16 faces. Texcoords (starting at (pi*radius/4) and ending at 1-(pi*radius/4)) need to be divided and distributed evenly, while normals and tangents will remain the same as these sides are all flat.

The reason for this subdivision is for better specular lighting and other per-vertex calculations.

While working on this task you should join and remain in #PySoy on Freenode to get help, feedback, and guidance from mentors and other developers. Code updates which may affect your work are also announced here as they happen. This is especially important for this task as other GCI tasks may be worked on to modify the same function.

When you've done, commit your work and post the resulting changeset url to this task.