terravisor/README.md

86 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

# TerraVisor
2024-08-23 20:14:43 -04:00
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
2024-08-23 20:14:43 -04:00
- **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
2024-08-12 18:29:35 -04:00
Before building TerraVisor, ensure that you have the following prerequisites installed on your system:
2024-08-12 18:29:35 -04:00
- **Git**: Used for cloning the repository and managing source code.
2024-08-23 20:14:43 -04:00
2024-08-12 18:29:35 -04:00
- **CMake**: Build system generator used to configure the project.
2024-08-23 20:14:43 -04:00
- **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.
2024-08-12 18:29:35 -04:00
- **vcpkg**: Package manager for acquiring C++ libraries.
2024-08-23 20:14:43 -04:00
- **Windows Users**: Ensure you have either the **Visual Studio Build Tools** or **Visual Studio** with the C++ desktop development installed on your machine.
2024-08-12 18:29:35 -04:00
### Installation Steps
2024-08-12 18:29:35 -04:00
1. **Clone the Repository**:
First, clone the repository from GitLab
```bash
git clone http://git.jackmchristensen.com/jack/terravisor.git
cd terravisor
```
2024-08-23 20:14:43 -04:00
2. **Install Dependencies**:
2024-08-12 18:29:35 -04:00
2024-08-23 20:14:43 -04:00
Use `vcpkg` to install dependencies. From the vcpkg directory call:
2024-08-12 18:29:35 -04:00
```bash
2024-08-23 20:14:43 -04:00
./vcpkg install glm glew glfw3 assimp freeimage
2024-08-12 18:29:35 -04:00
```
2024-08-23 20:14:43 -04:00
3. **Configure the Project**:
2024-08-12 18:29:35 -04:00
2024-08-23 20:14:43 -04:00
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
2024-08-23 20:14:43 -04:00
cmake -B build -S . -G Ninja --preset release
```
2024-08-23 20:14:43 -04:00
If necessary, specify `VCPKG_ROOT` before configuring the project:
2024-08-23 20:16:02 -04:00
- On Linux:
2024-08-23 20:14:43 -04:00
```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**:
2024-08-12 18:29:35 -04:00
Build the project using Ninja:
```bash
2024-08-12 18:29:35 -04:00
cmake --build build
```
2024-08-23 20:14:43 -04:00
5. **Run the Application**:
2024-08-12 18:29:35 -04:00
Once the build process is complete, you can run the TerraVisor application:
```bash
./build/TerraVisor
```
2024-08-10 19:40:03 -04:00
## Acknowledgements
2024-08-12 18:29:35 -04:00
GLEW - OpenGL Extension Wrangler Library \
GLFW - OpenGL Framework \
GLM - OpenGL Mathematics \
ASSIMP - Open Asset Import Library \
2024-08-25 20:06:48 -04:00
FreeImage - Open Source Image Library \
2024-08-23 20:14:43 -04:00
Dear ImGui - GUI framework
2024-08-10 19:40:03 -04:00
## Contact
For questions or support, please reach out to Jack Christensen at <contact@jackmchristensen.com>