matcap_shade — 3D render op

Datenarten: normalmap × image2dimage2d

Aufruf: import fullseye as fs; fs.ledger.matcap_shade(normals, matcap) -> 'np.ndarray' (die Implementierung direkt: import render_shade; render_shade.matcap_shade(normals, matcap) -> 'np.ndarray'; aus dem Register: ops3d.get("matcap_shade"))

Verwendung

MatCap: bildet Normalen im Blickraum auf eine Lit-Sphere-Textur ab, um das Aussehen eines Materials zu übertragen. → `(H, W[, C])`.

> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.

視空間の単位法線 `(nx, ny)([-1,1]`)をテクスチャ座標に写像し

(`u = (nx+1)/2, v = (1−ny)/2、行方向で y を反転)、matcap` 画像を

双線形補間 で引く。ライト計算をせず、球にライティングして撮った 1 枚の素材見えを

任意形状へそのまま貼れる(金属・粘土・トゥーンなど)。

`matcap` は正方に近い lit-sphere テクスチャ:

• グレースケール `(h, w) → 出力 (H, W)`

• カラー `(h, w, C)(C 任意) → 出力 (H, W, C)`

背景(長さ 0 の法線)は 0。テクスチャ座標は端でクランプ(球外縁の法線 `|(nx,ny)|→1` は

テクスチャ縁を指す)。

fail-closed: 形状不正・非有限・小さすぎる(`h,w < 2)テクスチャは ValueError`。

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

blender_interop — Blender との併用 — 形を作って fullseye で測る(軸・単位・正解データの罠)

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

render_shadepy -3.11 examples_3d/render_shade.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · antialias

Gleiche Kategorie (render)

project_points · render_point_depth · render_volume_projection · render_shaded · ambient_occlusion · cast_shadow · phong_shade · supersample_mesh


*Provenance: render_shade.py — 3D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.