Go to file
Jack b3aac984a7 Correctly calculate normals with dynamic tessellation 2024-08-28 23:07:40 -04:00
dependencies/FreeImage Reorganized FreeImage libraries 2024-08-24 00:27:20 -04:00
hgt Update .gitignore to include /hgt directory for testing purposes 2024-08-19 10:19:55 -04:00
imgui Resize font and add JetBrainsMono 2024-08-28 21:07:15 -04:00
include Resize font and add JetBrainsMono 2024-08-28 21:07:15 -04:00
shaders Correctly calculate normals with dynamic tessellation 2024-08-28 23:07:40 -04:00
source Dynamic tessellation based on slope 2024-08-28 22:24:23 -04:00
.gitignore Reorganized FreeImage libraries 2024-08-24 00:27:20 -04:00
.gitlab-ci.yml Switch test build from release to debug 2024-08-23 21:58:56 -04:00
CHANGELOG.md Update to v0.0.3 2024-08-28 13:50:54 -04:00
CMakeLists.txt Update to v0.0.3 2024-08-28 13:50:54 -04:00
CMakePresets.json Update CMakePresets.json 2024-08-23 22:51:01 +00:00
COPYING Update COPYING 2024-08-26 00:06:04 +00:00
README.md Update README.md 2024-08-26 00:06:48 +00:00
imgui.ini Dynamic tessellation based on slope 2024-08-28 22:24:23 -04:00

README.md

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

    git clone http://git.jackmchristensen.com/jack/terravisor.git
    cd terravisor
    
  2. Install Dependencies:

    Use vcpkg to install dependencies. From the vcpkg directory call:

     ./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:

    cmake -B build -S . -G Ninja --preset release
    

    If necessary, specify VCPKG_ROOT before configuring the project:

    • On Linux:
      export VCPKG_ROOT=/path/to/vcpkg
      
    • On Windows:
      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:

    cmake --build build
    
  5. Run the Application:

    Once the build process is complete, you can run the TerraVisor application:

    ./build/TerraVisor
    

Acknowledgements

GLEW - OpenGL Extension Wrangler Library
GLFW - OpenGL Framework
GLM - OpenGL Mathematics
ASSIMP - Open Asset Import Library
FreeImage - Open Source Image Library
Dear ImGui - GUI framework

Contact

For questions or support, please reach out to Jack Christensen at contact@jackmchristensen.com