membrane_render_rgb — DRIVE tacsim op

• Data kinds: normalmap × matrix → rgb

• Call: import fullseye as fs; fs.ledger.membrane_render_rgb(normals, lights, albedo: 'float' = 1.0, ambient: 'float' = 0.03, noise: 'float' = 0.0, seed: 'int' = 0) -> 'np.ndarray' (to call the implementation directly, import tacsim; tacsim.membrane_render_rgb(normals, lights, albedo: 'float' = 1.0, ambient: 'float' = 0.03, noise: 'float' = 0.0, seed: 'int' = 0) -> 'np.ndarray'; from the registry, opsdrive.get("membrane_render_rgb"))

Usage

Normal field (H, W, 3) + lights (3, 3) → visuotactile-sensor-like RGB (H, W, 3) float. Channel k = Lambertian image of light k, albedo·(max(N·L_k, 0) + ambient) (photometric.render_lambertian 3 times, 2nd implementation). If noise > 0, normally distributed noise is added.

> The detailed description below is the original text — the summary and the headings are translated.

Raises ValueError: normals が (H, W, 3) でない、lights が (3, 3) でない、noise < 0。

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_knife_tactile_toughness — py -3.11 examples/poc_knife_tactile_toughness.py

• poc_tacsim_elastic_membrane — py -3.11 examples/poc_tacsim_elastic_membrane.py

• poc_tacsim_marker_shear — py -3.11 examples/poc_tacsim_marker_shear.py

• poc_tactile_dipole_torque — py -3.11 examples/poc_tactile_dipole_torque.py

Ops the type connects to (they accept rgb as input)

spin_from_marker_sequence · carla_depth_decode · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain

Same category (tacsim)

combined_modulus · hertz_sphere · hertz_force · hertz_cylinder · hertz_surface_uz · hertz_pressure · membrane_indent_sphere · membrane_indent_shape


*Provenance: tacsim.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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