# TerraVisor TerraVisor is a 3D visualization tool designed for rendering and exploring terrain data. It provides users with interactive features to manipulate and visualize complex terrain models from real height data. ## Features - **Real Height Data**: Render height data from online services like NASA Earthdata, USGS National Map, or OpenTopography. - **Real-Time Tessellation**: Dynamically tessellate the height data based on terrain slopes and proximity to the camera. - **Export Tessellated Terrain**: Use the tessellated terrain in your own projects by exporting the tessellated mesh. ## 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. - **Build System**: Needed by **CMake** to build and configure the project. This can be **Ninja**, **Make**, or any other build system you prefer. - **C++ Compiler**: Required for compiling the project. You can use compilers like **GCC** on Windows or Linux, or **MSVC** on Windows. - **vcpkg**: Package manager for acquiring C++ libraries. - **Windows Users**: Ensure you have either the **Visual Studio Build Tools** or **Visual Studio** with the C++ desktop development installed on your machine. ### 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 Dependencies**: Use `vcpkg` to install dependencies. From the vcpkg directory call: ```bash ./vcpkg install glm glew glfw3 assimp freeimage ``` 3. **Configure the Project**: Navigate back to the project root directory and configure the project using CMake and your build system of choice. For this example, we'll use Ninja: ```bash cmake -B build -S . -G Ninja --preset release ``` If necessary, specify `VCPKG_ROOT` before configuring the project: - On Linux: ```bash export VCPKG_ROOT=/path/to/vcpkg ``` - On Windows: ```bash set VCPKG_ROOT=C:/path/to/vcpkg # If in powershell use $Env:VCPKG_ROOT = "C:/path/to/vcpkg" ``` 4. **Build the Project**: Build the project using Ninja: ```bash cmake --build build ``` 5. **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 \ FreeImage - Graphics Import Library \ Dear ImGui - GUI framework ## Contact For questions or support, please reach out to Jack Christensen at