Update README.md
This commit is contained in:
parent
b077d09589
commit
0ee8c79db3
60
README.md
60
README.md
|
@ -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 haven’t 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>
|
Loading…
Reference in New Issue