# TerraVisor TerraVisor is a 3D visualization tool designed for rendering and exploring terrain data. It leverages OpenGL for high-performance rendering and provides users with interactive features to manipulate and visualize complex terrain models. ## Features - **Real-Time Rendering**: Utilize the power of OpenGL for fast, real-time terrain visualization. - **Interactive Tools**: Rotate, zoom, and pan the terrain model for detailed exploration. - **Custom Shaders**: Supports custom GLSL shaders for advanced rendering effects. ## Installation ### Prerequisites Before building TerraVisor, ensure that you have the following prerequisites installed on your system: - **Git**: Used for cloning the repository and managing source code. - **CMake**: Build system generator used to configure the project. - **Ninja**: Fast build system used to compile the project. - **vcpkg**: Package manager for acquiring C++ libraries. ### Installation Steps 1. **Clone the Repository**: First, clone the repository from GitLab ```bash git clone http://git.jackmchristensen.com/jack/terravisor.git cd terravisor ``` 2. **Install vcpkg**: If you haven’t installed `vcpkg` yet, follow these steps to set it up: ```bash git clone https://github.com/microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.sh # Use .\bootstrap-vcpkg.bat on Windows ``` Optionally, integrate `vcpkg` with your system: ```bash ./vcpkg integrate install ``` 3. **Install Dependencies**: \ Use `vcpkg` to install dependencies: ```bash ./vcpkg install glm glew glfw3 assimp ``` 4. **Configure the Project**: Navigate back to the project root directory and configure the project using CMake and Ninja. Be sure to specify the `vcpkg` toolchain file: ```bash cd .. cmake -B build -S . -G Ninja -DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake ``` 5. **Build the Project**: Build the project using Ninja: ```bash cmake --build build ``` 6. **Run the Application**: Once the build process is complete, you can run the TerraVisor application: ```bash ./build/TerraVisor ``` ## Acknowledgements GLEW - OpenGL Extension Wrangler Library \ GLFW - OpenGL Framework \ GLM - OpenGL Mathematics \ ASSIMP - Open Asset Import Library \ Dear ImGui ## Contact For questions or support, please reach out to Jack Christensen at