
- Controls:
- Esc – Exit.
- Shift – Toggle object’s geometry.
- Backspace – Toggle between controlled camera/object.
- Arrow Keys – Move camera/object.
- Assignment Goal:
- To transform human readable files into easy-to-process binary files.
- This allows the files to still be viewed and edited within source-control, while also compacts them for ease of processing.
- To move much of the asset loading work into the building process rather than doing it in-engine.
- To transform human readable files into easy-to-process binary files.
- Additions & Changes:
- Altered GeometryBuilder project to output binary file rather than simply copying the Lua file.
- Instead, reads Lua file and transforms it into a binary file.
- Unwinding code is executed here instead of in cGeometry.d3d.cpp.
- Added a binary File .geo format:
- Stored in order of vertex count, vertices values, index count, and indices values.
- Simple to read and iterate through one step at a time.
- Smaller in size, both for processing and storage.
- Removed unwinding code from cGeometry.d3d.cpp.
- This was transfered into the cGeometryBuilder.cpp where winding is now done based off the platform.
- Altered GeometryBuilder project to output binary file rather than simply copying the Lua file.
- Metrics:
- Helix Lua on Disk: 2,564,096 bytes
- Time to Read File: 0.207188
- Helix Binary on Disk: 602,112 bytes
- Time to Read File: 0.025640
- Helix Lua on Disk: 2,564,096 bytes
- How I Did It:
- Simply shifting code around, I was able to complete this assignment very quickly.
- The way the binary file was written and read makes a lot of sense to me, since I usually have the mindset of storage in arrays.

Sizes are shown in Yellow Boxes
Data is shown in Alternating Red & Orange Boxes
