Genesis - 3D World Builder
Class Info: Intro to Software Engineering (CS 3300)
Class Date: Fall 2005
Language: C#, OpenGL
Group?: Yes (4 members)
Completion Time: 1 semester
Project Description
Genesis is basically a 3D map editor. It is tile-based, and it allows you to shape, mold, and skin your terrain and imported models. The terrain is basically a grid, and each cell can be raised or lowered. 3D Studio models can be imported and placed in the 3D world. You can perform simple transformations on the models: translation (changing position), rotation, and scaling. Each map can be part of a project that consists of several maps.
My group consisted of four members, and we had the full semester to develop the program. The class, however, was more focused on documentation and proper software engineering methodology than the actual implementation of the program. However, we worked our tails off to create a great product, and I believe we pulled it off.
Responsibilities
I worked on the 3D rendering. I had to come up with solutions to numerous issues, including:
- Loading 3DS files
- Determining which object is selected in 3D space when using a mouse (3D picking)
- User-driven translating, scaling, and rotating of 3D objects
- Taking screenshots of a 3D scene in software and saving those images to disk
- Correctly combining transformations (the entire scene, individual 3D objects, etc)






