*Research only. No code changed. This is the plan + what to download.*
We have been lighting procedural noise bumps on top of photo textures that don't line up. The crater you see in the photo is NOT where the geometry has a crater, so the shadows "tease" depth the surface doesn't have. Stacking fog/sky/atmosphere on top just muddies it.
The fix is not more shaders — it's matched asset sets: for each planet, use a *color map + normal map + HEIGHT map that all came from the same source*. Then displace the geometry by the height map. Now the canyon in the picture is a real canyon, lit correctly. This is exactly how real planet renders (and NMS's hand-authored worlds) get believable depth.
---
For each AI's planet, pick a real body and grab its color + normal/bump + height (displacement) maps. Drop them in /textures as <name>.jpg, <name>_normal.jpg, <name>_height.jpg.
When you're walking, you need tiling rock/sand/grass with their own height+normal so the ground is crisp and 3D up close.
postprocessing (pmndrs) — production-grade bloom, SSAO, god-rays, tone-mapping. Replaces my hand-rolled bloom and looks far better. https://github.com/pmndrs/postprocessing@takram/three-clouds — real volumetric ray-marched clouds + aerial-perspective atmosphere (the actual NMS cloud/sky look). https://www.npmjs.com/package/@takram/three-cloudsvUv/texture2D that newer versions handle differently).---
1. Download matched color+normal+HEIGHT maps for each planet → /textures. *(No code; pure asset drop.)*
2. Add a height-map displacement step so geometry matches the photo (real craters/canyons). *(Small, targeted code change — works on current r128.)*
3. Add Poly Haven CC0 ground materials for the walked surface.
4. Upgrade three.js, then drop in postprocessing (bloom/atmosphere) and optionally @takram/three-clouds (volumetric). *(Bigger compatibility project.)*
Reality check: steps 1–2 alone (matched height maps + displacement) will do more for the "real depth" feeling than everything I stacked this week. Steps 3–4 get the cinematic atmosphere/clouds. None of it requires matching a AAA studio — it requires the *right assets* feeding *proven libraries*, instead of hand-built shaders fighting mismatched textures.
---