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

wolfhece.wolf_array._hillshade_params.logger[source]
wolfhece.wolf_array._hillshade_params.SIDECAR_SUFFIX = '.hillshade.json'[source]
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.

z_exaggeration = 1.0[source]
specular = 0.0[source]
glossiness = 0.5[source]
highlight = 1.0[source]
copy() HillshadeRenderParams[source]
copy_from(other: HillshadeRenderParams) None[source]

Copy all values from other into self.

to_dict() dict[source]
classmethod from_dict(d: dict) HillshadeRenderParams[source]
save(array_filename: str | pathlib.Path) None[source]

Write a *.hillshade.json sidecar next to array_filename.

classmethod load(array_filename: str | pathlib.Path) HillshadeRenderParams | None[source]

Load from sidecar if it exists, else return None.