render op• Datenarten: normalmap × image2d → image2d
• 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"))
MatCap: bildet Normalen im Blickraum auf eine Lit-Sphere-Textur ab, um das Aussehen eines Materials zu übertragen. → (H, W[, C]).
Bildet die Einheitsnormale (nx, ny) ([-1,1]) des Sichtraums auf Texturkoordinaten ab (u = (nx+1)/2, v = (1−ny)/2, y in Zeilenrichtung gespiegelt) und tastet das matcap-Bild per bilinearer Interpolation ab. Ohne Beleuchtungsrechnung lässt sich das Materialaussehen von 1 Aufnahme einer beleuchteten Kugel direkt auf beliebige Formen übertragen (Metall, Ton, Toon usw.).
matcap ist eine nahezu quadratische lit-sphere-Textur:
• Graustufen (h, w) → Ausgabe (H, W)
• Farbe (h, w, C) (C beliebig) → Ausgabe (H, W, C)
Der Hintergrund (Normalen der Länge 0) ist 0. Texturkoordinaten werden an den Rändern geklemmt (Normalen am Kugelrand |(nx,ny)|→1 zeigen auf den Texturrand).
fail-closed: ungültige Formen, nicht endliche Werte und zu kleine (h,w < 2) Texturen lösen ValueError aus.
• blender_interop — Zusammen mit Blender — Form bauen, mit fullseye messen (Fallstricke: Achsen, Einheiten, Referenzdaten)
• 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.
• render_shade — py -3.11 examples_3d/render_shade.py
image2d als Eingabe)fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · antialias
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.