The server takes at most a few hundred MB a push: this comes in parts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
92 lines
4.9 KiB
Markdown
92 lines
4.9 KiB
Markdown
# SOL HD textures
|
||
|
||
The HD pack replaces the diffuse textures of all eight planets and Earth's Moon,
|
||
plus Sol's skybox. Each body has six independent 4096 × 4096 BC1 faces with
|
||
13 mip levels. The sky has six 4096 × 4096 BGRA8 faces with 13 mip levels.
|
||
Mipmaps are filtered in linear light. The other moons, dwarf planets, rings,
|
||
sun and system layout retain their existing assets.
|
||
|
||
The source maps are reprojected onto Freelancer's cubed spheres without mirroring
|
||
the poles. Earth combines a geographic surface map with its cloud-opacity map.
|
||
Materials use a neutral detail texture instead of repeating the retail craters
|
||
or cloud noise over the photographic maps. These are diffuse textures: they do
|
||
not add geometry, terrain displacement or a separately moving cloud shell.
|
||
|
||
| Body | Source dimensions | Installed faces |
|
||
| --- | --- | --- |
|
||
| Mercury, Earth, Mars, Jupiter, Saturn | 8192 × 4096 | 6 × 4096² |
|
||
| Venus cloud envelope | 4096 × 2048 | 6 × 4096² |
|
||
| Uranus, Neptune | 2048 × 1024 | 6 × 4096² |
|
||
| Moon (LROC 2019 color map) | 16384 × 8192 | 6 × 4096² |
|
||
| Sky (NASA Deep Star Maps 2020) | 16384 × 8192 | 6 × 4096² |
|
||
|
||
Output dimensions are not the same as observational resolution: the Uranus,
|
||
Neptune and Venus maps contain less fine detail. Solar System Scope's maps
|
||
include artistic color tuning and filled gaps, as described by their author.
|
||
The NASA sky preserves the published J2000 star positions and the existing
|
||
Sol ecliptic orientation; it is a display-exposed sky, not an exposure simulation.
|
||
|
||
## Rebuild
|
||
|
||
Requires Python, NumPy, Pillow with its BC1 DDS encoder, and OpenCV with OpenEXR.
|
||
|
||
```powershell
|
||
python tools/build_sol_hd_textures.py --download
|
||
python tools/build_sol_hd_textures.py --planets --jobs 3 --resume
|
||
python tools/build_sol_hd_textures.py --sky
|
||
# Close the game, then install:
|
||
python tools/build_sol_hd_textures.py --install
|
||
python tools/verify_sol_hd_textures.py
|
||
```
|
||
|
||
Sources are cached in `tools/texture_sources/`. Exact URLs, credits and hashes
|
||
are in `sol_texture_sources.json` and `texture_build/source_manifest.json`.
|
||
Build products, read-back previews, validation reports and runtime screenshots
|
||
are in `tools/texture_build/`. Installation backs up all replaced files under
|
||
`tools/backups/sol-textures-<timestamp>/` before copying the staged outputs.
|
||
Restore those files to the same relative paths to revert. Files newly added by
|
||
the HD pack can remain unused after restoring the original INIs and libraries.
|
||
|
||
The original `make_planet_textures.py` and `make_sol_skybox.py` remain available
|
||
as procedural alternatives; running them over the live pack replaces the HD maps.
|
||
`planet_looks.json` is updated so subsequent system rebuilds retain the HD materials.
|
||
|
||
The renderer also needs the local source changes: `RemGfx/rg_sky.cpp` keeps 4K
|
||
sky faces instead of reducing them to 2K; `RendComp/Plugins.cpp` recognizes the
|
||
Sol material names as gas/cloud or Earth materials. The installed renderer
|
||
configuration also enables 16× anisotropic filtering. Build Release/x64 RP8 and
|
||
RendComp and copy their DLLs to `GAME/EXE`. The installed pack occupies about
|
||
1.1 GiB, plus the renderer's GPU copies; loading and memory usage increase.
|
||
|
||
## Verification (2026-11-11)
|
||
|
||
Release/x64 RP8 and RendComp builds passed. All 54 planet faces and six sky
|
||
faces passed container, format, mip-count and material-reference checks;
|
||
the planet face-edge checks passed. Unrelated system data and solar archetypes
|
||
were compared with the backup and preserved.
|
||
|
||
Earth and Jupiter were visually checked in the running game. Both runs captured
|
||
screenshots and completed without a crash, renderer errors or new engine warnings.
|
||
The runtime log confirms `4096x4096 faces -> cube 4096 (13 mips)`.
|
||
Reports: `texture_build/validation.json` and `texture_build/runtime/runtime-validation.json`.
|
||
The Earth before/after comparison is `texture_build/previews/earth_before_after.jpg`.
|
||
The first full-install backup is `tools/backups/sol-textures-20261111-202729/`.
|
||
|
||
## Credits
|
||
|
||
Planet and Earth cloud textures by **Solar System Scope / INOVE**,
|
||
[Solar Textures](https://www.solarsystemscope.com/textures/), used under
|
||
[Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/).
|
||
Changes: spherical reprojection, Earth surface/cloud compositing, mip generation,
|
||
BC1 compression and Freelancer material packaging.
|
||
|
||
Moon: **NASA/Goddard Space Flight Center Scientific Visualization Studio**, LRO/LROC,
|
||
visualization by **Ernie Wright**, [CGI Moon Kit](https://svs.gsfc.nasa.gov/4720/),
|
||
2019 color map. Changes: spherical reprojection, mip generation and BC1 packaging.
|
||
|
||
Sky: **NASA/Goddard Space Flight Center Scientific Visualization Studio**,
|
||
**Ernie Wright**, [Deep Star Maps 2020](https://svs.gsfc.nasa.gov/4851/), using
|
||
Hipparcos-2, Tycho-2 and Gaia DR2 catalog data. Changes: J2000-to-game coordinate
|
||
conversion, cube reprojection, display transfer, dithering and mip generation.
|
||
No endorsement by NASA, ESA or the texture authors is implied.
|