wolfhece.wolf_array._hillshade_params
Per-array hillshade material parameters.
Each WolfArray carries a HillshadeRenderParams instance
that stores the material properties used by the per-pixel Blinn-Phong
hillshade shader. Sun position and global enable flags remain on the
viewer (WolfMapViewer).
The viewer can operate in synchronised mode (all arrays share one set of material parameters) or per-array mode (each array has its own parameters, and the panel reflects the active array).
Author: HECE - University of Liege Date: 2026
Copyright (c) 2026 University of Liege. All rights reserved.
Module Contents
- class wolfhece.wolf_array._hillshade_params.HillshadeRenderParams(*, z_exaggeration: float = 1.0, specular: float = 0.0, glossiness: float = 0.5, highlight: float = 1.0)[source]
Material parameters for per-pixel Blinn-Phong hillshade.
These are the parameters that differ per WolfArray when running in per-array mode. Sun position, enable flag and multi-directional flag remain on the viewer.
All values are stored in user-facing convention:
glossiness ∈ [0, 1]: 0 = matte (broad highlight), 1 = mirror (sharp highlight). The shader receives
roughness = 1 − glossiness.highlight ∈ [0, 1]: 0 = palette-tinted specular (subtle), 1 = pure white specular (prominent). The shader receives
metallic = 1 − highlight.
- copy_from(other: HillshadeRenderParams) None[source]
Copy all values from other into self.
- classmethod from_dict(d: dict) HillshadeRenderParams[source]
- save(array_filename: str | pathlib.Path) None[source]
Write a
*.hillshade.jsonsidecar next to array_filename.
- classmethod load(array_filename: str | pathlib.Path) HillshadeRenderParams | None[source]
Load from sidecar if it exists, else return None.