render_shaded — 3D render op

• Data kinds: normalmap → image2d

• Call: import fullseye as fs; fs.ledger.render_shaded(normals_img, light=(0, 0, 1), ambient=0.1) (implementation को सीधे call करना हो तो import match3d; match3d.render_shaded(normals_img, light=(0, 0, 1), ambient=0.1), registry से लेना हो तो ops3d.get("render_shaded"))

उपयोग

normal map (H,W,3) + light direction → Lambertian shaded image (appearance sample generation, optics से जुड़ाव)।

I = ambient + (1 − ambient)·clip(n·L̂, 0, 1) को (H, W) float64, मान-सीमा [0, 1] में लौटाता है। light भीतर unit किया जाता है (zero vector पर 0 से भाग के कारण NaN), पर normal को unit नहीं किया जाता (unit normal दें; estimate_point_normals / normals_from_depth के output unit होते हैं)। normal के component का क्रम और light के component का क्रम एक-सा रखें (default (0,0,1) उस convention पर है जिसमें 3rd component = camera की ओर सामने का प्रकाश है)। light source से उल्टी ओर मुड़ी सतहों को ambient का मान मिलता है। अंतिम axis को normal माना जाता है, इसलिए (N,3) के हर point के normal के साथ भी चलता है। specular highlight नहीं है (अलग से fresnel_reflectance / reflect से)।

उपयोग: photometric_stereo का cross-check (normal → image, आगे की दिशा), visual inspection के लिए synthetic samples।

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• render_ao — py -3.11 examples_3d/render_ao.py

वे अगले ops जिनसे type जुड़ता है (image2d को input के रूप में लेते हैं)

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

इसी category के (render)

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


*Provenance: match3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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