Skip to content

Arena 3D Viewer: True fisheye shader for fly eye simulation #9

@mbreiser

Description

@mbreiser

Summary

Implement a true fisheye/barrel distortion shader to better simulate what a fly sees from the center of the arena.

Background

The current FOV slider adjusts the camera's perspective FOV up to 170°, but this doesn't produce the barrel distortion characteristic of wide-angle/fisheye lenses or compound eyes.

Proposed Implementation

  • Add a separate "True Fly Eye" toggle or control (distinct from FOV slider)
  • Implement post-processing shader with barrel distortion
  • Target FOV: ~270° horizontal, ~180° vertical (matching fly compound eye coverage)
  • Keep as experimental feature to evaluate usefulness

Technical Approach

Options to explore:

  1. Three.js post-processing with custom fisheye shader
  2. Cubemap rendering with equirectangular projection
  3. Existing fisheye shader libraries

Acceptance Criteria

  • Separate control for true fisheye mode
  • Barrel distortion visible at edges
  • Reasonable performance (may need to reduce LED count or use LOD)
  • Easy to toggle on/off for comparison

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions