Go to file
Jack 0b3c7b0f74 Add TIFF import
Completed LoadTexture() to allow for TIFF files and loaded the color texture to the shaders. Some minor changes to the fragment shaders, but nothing major.
2024-08-25 16:31:01 -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 Add imgui_impl_opengl3_loader.h to hopefully fix loader issues in test 2024-08-12 17:30:29 -04:00
include Add TIFF import 2024-08-25 16:31:01 -04:00
shaders Add TIFF import 2024-08-25 16:31:01 -04:00
source Add TIFF import 2024-08-25 16:31:01 -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
CMakeLists.txt Reorganized FreeImage libraries 2024-08-24 00:27:20 -04:00
CMakePresets.json Update CMakePresets.json 2024-08-23 22:51:01 +00:00
COPYING FreeImage correctly included 2024-08-23 23:35:47 -04:00
LICENSE Remove file extensions for licensing files 2024-08-10 19:43:14 -04:00
README.md Remove mention of macOS in README.md 2024-08-24 00:16:02 +00:00
imgui.ini Add TIFF import 2024-08-25 16:31:01 -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 - Graphics Import Library
Dear ImGui - GUI framework

Contact

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