Update README.md

This commit is contained in:
Jack Christensen 2024-08-24 00:14:43 +00:00
parent b077d09589
commit 0ee8c79db3
1 changed files with 32 additions and 28 deletions

View File

@ -1,12 +1,12 @@
# TerraVisor # 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. 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 ## Features
- **Real-Time Rendering**: Utilize the power of OpenGL for fast, real-time terrain visualization. - **Real Height Data**: Render height data from online services like NASA Earthdata, USGS National Map, or OpenTopography.
- **Interactive Tools**: Rotate, zoom, and pan the terrain model for detailed exploration. - **Real-Time Tessellation**: Dynamically tessellate the height data based on terrain slopes and proximity to the camera.
- **Custom Shaders**: Supports custom GLSL shaders for advanced rendering effects. - **Export Tessellated Terrain**: Use the tessellated terrain in your own projects by exporting the tessellated mesh.
## Installation ## Installation
@ -15,10 +15,17 @@ TerraVisor is a 3D visualization tool designed for rendering and exploring terra
Before building TerraVisor, ensure that you have the following prerequisites installed on your system: Before building TerraVisor, ensure that you have the following prerequisites installed on your system:
- **Git**: Used for cloning the repository and managing source code. - **Git**: Used for cloning the repository and managing source code.
- **CMake**: Build system generator used to configure the project. - **CMake**: Build system generator used to configure the project.
- **Ninja**: Fast build system used to compile 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. - **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 ### Installation Steps
1. **Clone the Repository**: 1. **Clone the Repository**:
@ -29,41 +36,37 @@ Before building TerraVisor, ensure that you have the following prerequisites ins
cd terravisor cd terravisor
``` ```
2. **Install vcpkg**: 2. **Install Dependencies**:
If you havent installed `vcpkg` yet, follow these steps to set it up: Use `vcpkg` to install dependencies. From the vcpkg directory call:
```bash ```bash
git clone https://github.com/microsoft/vcpkg.git ./vcpkg install glm glew glfw3 assimp freeimage
cd vcpkg
./bootstrap-vcpkg.sh # Use .\bootstrap-vcpkg.bat on Windows
```
Optionally, integrate `vcpkg` with your system:
```bash
./vcpkg integrate install
``` ```
3. **Install Dependencies**: \ 3. **Configure the Project**:
Use `vcpkg` to install dependencies:
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 ```bash
./vcpkg install glm glew glfw3 assimp cmake -B build -S . -G Ninja --preset release
```
If necessary, specify `VCPKG_ROOT` before configuring the project:
- On Linux/macOS:
```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. **Configure the Project**: 4. **Build 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: Build the project using Ninja:
```bash ```bash
cmake --build build cmake --build build
``` ```
6. **Run the Application**: 5. **Run the Application**:
Once the build process is complete, you can run the TerraVisor application: Once the build process is complete, you can run the TerraVisor application:
```bash ```bash
@ -76,7 +79,8 @@ GLEW - OpenGL Extension Wrangler Library \
GLFW - OpenGL Framework \ GLFW - OpenGL Framework \
GLM - OpenGL Mathematics \ GLM - OpenGL Mathematics \
ASSIMP - Open Asset Import Library \ ASSIMP - Open Asset Import Library \
Dear ImGui FreeImage - Graphics Import Library \
Dear ImGui - GUI framework
## Contact ## Contact
For questions or support, please reach out to Jack Christensen at <contact@jackmchristensen.com> For questions or support, please reach out to Jack Christensen at <contact@jackmchristensen.com>