Blazingly fast orthoimagery for X-Plane 11 and 12.
Open-source projects like Ortho4XP and AutoOrtho are great tools to bring ortho scenery for X-Plane. Ortho4XP covers the entire scenery building process from assembling vector data to downloading satellite imagery while AutoOrtho builds on top of Ortho4XP providing a solution to stream orthoimages on-demand.
Both, as the last step of the ortho scenery building process, download satellite imagery chunks, assembling and compressing them to a texture format that X-Plane can render.
fxpo optimises this step which—for sufficiently high zoom levels—is also the most time-consuming.
fxpo's optimisations heavily rely on SIMD-capable multicore CPUs, NVIDIA GPUs with high CUDA core counts and a sufficiently high-speed internet connection with low latencies towards orthoimage servers.
Tile | fxpo | Ortho4XP | Speedup |
---|---|---|---|
+57-006 , ZL17 |
2m 13s | 16m 43s | 7.5x |
(Averages over 5 consecutive runs.)
Running on Intel Core i9-13900KS, NVIDIA GetForce RTX 4090 and
300 Mbps download speeds with ~4 ms latency toward virtualearth.net
servers, fxpo shows a 7x performance improvement over Ortho4XP (commit 7ed9a09; max_convert_slots
set to 32) downloading tile +57-006
at zoom level 17.
Use Ortho4XP to assemble vector data, triangulate mesh, draw masks and build DSF (set skip_downloads
to True
in Ortho4XP.cfg
) for the given tileset. Once complete, use fxpo to download and build orthoimage textures for the tileset.
Usage: fxpo "<scenery_path>" "<tileset>"
<scenery_path> is the path to X-Plane's Custom Scenery folder.
Example: C:\X-Plane 12\Custom Scenery
<tileset> is the coordinates of the tileset to download and process.
Example: +57-006
The above example expects the path C:\X-Plane 12\Custom Scenery\zOrtho4XP_+57-006
to exist.
fxpo requires Windows. The code-base is relatively platform independent so with some effort it should be possible to port it to Linux and macOS.
As of now no precompiled binaries are provided (community builds are more than welcome!). Please see the next section for instructions on how to build fxpo.
fxpo is experimental and bugs are expected.
- CMake
- vcpkg
- Visual Studio 2022
- NVIDIA Texture Tools (NVTT) 3 SDK (requires NVIDIA Developer account)
- NVIDIA CUDA Toolkit 11.8
-
Generate the project files with CMake
cmake --preset windows-x64-release -B cmake-build-windows-x64-release
-
Build fxpo
cmake --build cmake-build-windows-x64-release --config Release