86 lines
2.8 KiB
Markdown
86 lines
2.8 KiB
Markdown
# 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 <contact@jackmchristensen.com> |