Implement a world builder that allows users to place objects/meshes in the world as they see fit and allow to save/load scenes.
Unless a world file is provided, the user is initially presented with an empty world. Regardless of the initial world, the user can freely move around the scene and place objects. Objects can be translated and rotated along/about any axis via keyboard. This allows for fine changes in position/rotation. The world can also be saved to load later.
final_project <Path to resources directory> <OPTIONAL: World file to load>
World files are plaintext and contain the following information in this order:
The program does not validate world file structure; it just expects the data in this order.
world.dat
in the same directory as the executable.
fstream
library
contains functions that are similar to cin
and cout
.
sstream
library allows string parsing similar to Java's Scanner
class by using functions similar to cin
and cout
.
glm::lookAt
worked and had to fiddle with it until I got the desired effect.
.obj
Structure.obj
files contain texture coordinates, denoted as vt
and
that these were automatically loaded by shape.cpp
. I had to cut this out of
shape.cpp
since the GLSL compiler would complain and crash when trying to render
ff14_weapon.obj
.
ff14_weapon.obj