World of Flim-Flam Craft
Development Snapshot
Software: DirectX, MFC
Language: C++
World of Flim-Flam Craft (WFFC) is a project framework that was capable of loading from a database and rendering objects. The task set by my tools programming module was to extend this boilerplate framework to create a set of tools that would aid in the production pipeline of WFFC.
I focused on three main aspects for the project, object manipulation, terrain manipulation, and camera functionality.
Below is a video showcasing the tools I created.
Cameras
I implemented three camera modes, focused, free, and rotating. Focused camera allows an object to be selected and orbitted around, free move camera allows the user to move around the scene freely, and the rotating camera is a stationary camera that rotates on the spot.Object Manipulation
Object Manipulation is key to any production pipeline, for this project I implemented object creation/duplication, selection, transformation, and inspection.Terrain Manipulation
Most of the terrain manipulation was achieved using ray-triangle intersection tests to determine if and where the terrain was being clicked then manipulating the respective vertexes. Each vertex had a corresponding scale, position, and UVs that could be changed to achieve the manipulation. These values are applied to a heightmap which could also be painted to change the base terrain.State management
Another key feature of a production pipeline is the ability to undo and redo changes in the event of a mistake or decision change. This was achieved by using two double-ended queues that store the state of the scene graph whenever a change is made.
The source code can be viewed at my GitHub portfolio page
(SAnderon-Portfolio
).