You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrate MapMap's rendering from legacy (fixed‑function) OpenGL to a modern graphics API — Core‑profile OpenGL and/or Metal. Epic / long‑term.
Why
MapMap renders with legacy OpenGL (~2.1: glBegin/glEnd, glVertex, glTexCoord, fixed‑function), used throughout (ShapeGraphicsItem, the GL canvases, texture handling).
Apple deprecated all of OpenGL in 2018; on Apple Silicon there is no native OpenGL driver — it is emulated on Metal (AppleMetalOpenGLRenderer). The legacy fixed‑function path is the most fragile part of that emulation.
Concrete symptoms today: Syphon output fails (Syphon output (server) unsupported on legacy OpenGL / Apple Silicon #620 — IOSurface texture creation in the legacy context floods cannot create texture, Metal texture cache was released), and we depend on a deprecated, emulated path that a future macOS could remove.
Scope (large)
Replace fixed‑function drawing with shaders + vertex buffers (Core profile), or a Metal/abstraction backend.
Cross‑platform constraint: MapMap also targets Linux/Windows, where OpenGL is the native standard. Core‑profile GL keeps a single codebase; Metal is macOS‑only and would need an abstraction (e.g. Qt RHI, or Vulkan + MoltenVK).
Benefits
Long‑term viability on macOS (no longer relying on emulated, deprecated OpenGL).
Summary
Migrate MapMap's rendering from legacy (fixed‑function) OpenGL to a modern graphics API — Core‑profile OpenGL and/or Metal. Epic / long‑term.
Why
glBegin/glEnd,glVertex,glTexCoord, fixed‑function), used throughout (ShapeGraphicsItem, the GL canvases, texture handling).AppleMetalOpenGLRenderer). The legacy fixed‑function path is the most fragile part of that emulation.cannot create texture, Metal texture cache was released), and we depend on a deprecated, emulated path that a future macOS could remove.Scope (large)
Benefits
Options to evaluate
Related: #620 (Syphon output).