| 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. | ||
|---|---|---|
| dependencies/FreeImage | ||
| hgt | ||
| imgui | ||
| include | ||
| shaders | ||
| source | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| COPYING | ||
| LICENSE | ||
| README.md | ||
| imgui.ini | ||
		
			
				
				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
- 
Clone the Repository: First, clone the repository from GitLab git clone http://git.jackmchristensen.com/jack/terravisor.git cd terravisor
- 
Install Dependencies: Use vcpkgto install dependencies. From the vcpkg directory call:./vcpkg install glm glew glfw3 assimp freeimage
- 
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 releaseIf necessary, specify VCPKG_ROOTbefore 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"
 
- On Linux:
- 
Build the Project: Build the project using Ninja: cmake --build build
- 
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