# HyprTile Mountain Flight — HQ texture-noise port

A two-pass procedural cinematic wallpaper for `hyprtile-wallpaperd`.

This revision deliberately keeps the expensive scene at **native output
resolution**. The previous reduced-resolution presets were fast but destroyed
much of the original shader's tree, cloud and lake structure.

The quality-preserving optimization is different: `hyprtile-wallpaperd` now
provides every runtime shader with a built-in 256×256 linear-filtered repeating
RGBA noise texture via:

```glsl
uniform sampler2D u_noise_tex;
uniform vec2      u_noise_resolution;
```

The Mountain Flight scene uses that texture for the terrain envelope, tree
density, water normals and the 3-D fBM slices. This is much closer to the
original Shadertoy technique and substantially cheaper than the old procedural
hash-noise implementation.

The first pass renders the moving lake / forest / terrain / cloud scene and
stores compact non-linear depth in alpha. The second pass reconstructs camera
velocity from that depth and applies motion blur plus vignette.

## Recommended starting point — full-resolution HQ Fast

No `--scale` is used. The scene and final motion blur remain native resolution.

```bash
hyprtile-wallpaperd --backend gl --fps 24 \
  --shader /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-buffer.frag \
  --params /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-hq-fast.params \
  --shader /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-motionblur.frag \
  --params /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-motionblur-hq-fast.params
```

## HQ Balanced

```bash
hyprtile-wallpaperd --backend gl --fps 24 \
  --shader /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-buffer.frag \
  --params /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-hq-balanced.params \
  --shader /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-motionblur.frag \
  --params /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-motionblur-hq.params
```

## Near-original detail

Use this only on a stronger GPU. It retains a much larger tree/cloud march but
still benefits from the new hardware-filtered noise texture and empty-tree-sample
short-circuiting.

```bash
hyprtile-wallpaperd --backend gl --fps 24 \
  --shader /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-buffer.frag \
  --params /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-hq-original.params \
  --shader /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-motionblur.frag \
  --params /usr/local/share/hyprtile/shader/wallpaperd/hyprtile-mountain-flight-pack/hyprtile-mountain-flight-motionblur-hq.params
```

## Why this is sharper than the previous optimization

The previous version rendered the 3-D scene at 30–50% linear resolution and
then upscaled it. That reduces fragment cost dramatically, but it also throws
away the tiny structures that make this scene work.

This version instead keeps the scene at 100% resolution and attacks the
expensive work inside each fragment:

- texture-backed fBM instead of procedural 8-corner 3-D hash noise;
- independent noise channels replace the original Shadertoy channel textures;
- tree shading exits before normal/fBM/BRDF work when density is negligible;
- march counts are tunable without lowering spatial resolution;
- the recommended presentation rate is 24 FPS, which suits the cinematic
  motion and cuts work without blurring spatial detail.

The older `fast`, `ultrafast` and `balanced-v2` files are kept only for users who
prefer maximum speed. For visual fidelity, use the `hq-*` presets above.

## Manifest shortcuts

The old long two-pass invocations are now represented as `.wallpaper` manifests:

```bash
hyprtile-wallpaperd --pack mountain-flight:hq-fast
hyprtile-wallpaperd --pack mountain-flight:hq-balanced
hyprtile-wallpaperd --pack mountain-flight:hq-original
```

The older downscaled experiments remain available as `fast`, `ultrafast`, `balanced-v2` and `high`.
