bash src/main.cpp
from the root- if doesnt work try
g++ src/main.cpp -o bin/app -lglut -ldl -Isrc/ -Idemos/ -Ivendor/ -Ivendor/glad/include/ -Ivendor/stb/include/ -Ivendor/noise/ -O3 -Ofast
- try
-lfreeglut
instead of-lglut
if prefer/problems
g++ src/main.cpp -o bin/app -lfreeglut -Isrc/ -Idemos/ -Ivendor/ -Ivendor/glad/include/ -Ivendor/stb/include/ -Ivendor/noise/ -O3 -Ofast
bin/app
[scene_input_file]- Window:
bin\app.exe
[scene_input_file] - If no
scene_input_file
is provided, a default one will be used
sudo apt-get install freeglut3-dev
- Use
msys2/mingw
terminal/shell to install freeglut with the command:pacman -S mingw-w64-x86_64-freeglut
. - If mingw libraries are not on path, go to the project directory using
mingw shell
calledmingw64.exe
and then compile it.
- Might work with c++17 compiler, but it was only tested with
g++ 12.2.0
w, s, d, a
forward, backward, sideways movementclick
anddrag
to control the view directionspace, q
to go upcrtl+space, e
to go down (couldn't resolve the crlt glut problem, so the use of crtl is finnicky)wheel
to change fov
- The recommended settings are in
src/input.txt
- If width or depth exceeds
100
might get pretty LOW fps. It's recommended to stay below this range, and the height be less then50
src/
contains all the source code, it containesmain.cpp
for a pseudo-bash script that includes the actual projectisland.cpp
, also can find theinput.txt
that provides a default scene descriptionsrc/game
all the island code that dependes on all the other folder in thesrc
src/utils
utils function, doenst depend on any filessrc/math
generic mat and vec classes for matrices and vectors respectivaly, only depends on src/utilssrc/platform
implementation of Window Interface using glut for nowsrc/graphics
all the core for graphics, loading meshes, loading texture and rendering using shaderssrc/assets
contain static C arrays that contains data about the .obj directly into C, which means it'll be embedded into the executablevendor/
All external libraries, glad, noise, utily for obj2c, stb imagebin/
binariesassets/
resources for the project, including shaders, textures, models.docs/
definition of the project from my class