21 FEB 2026

rahulmnavneeth

backend capabilities

homedocs

Feature Matrix

FeatureCPUOpenGLVulkan
Solid renderingYesYesYes
Wireframe renderingYesYesYes
Depth bufferingYesYesYes
Backface cullingYesYesYes
Flat shadingYesYesYes
Smooth shadingYesYesYes
Multi-light (8 lights)YesYesYes
Object ID pickingYesYesYes
Framebuffer readbackYesYesYes
Offscreen (no window)YesYesYes
Gizmo overlayYesYesYes
Light indicatorsYesYesYes
Wireframe overlayYesYesYes
Normal visualizationYesYesYes
Bounding box overlayYesYesYes
Selection highlightYesYesYes
Flex vertex formatYesYesYes
Undo/redoYesYesYes
ParticlesYesYesYes
Water surfaceYesYesYes
Post-processingYesYesYes
Platform dependencyNoneGL 3.3Vk 1.0
GPU accelerationNoYesYes
Implementation statusFullContractFull

Performance Characteristics

BackendGeometry throughputPixel fill rateReadback cost
CPULowLowZero (direct memory)
OpenGLHighHighglReadPixels (moderate)
VulkanHighHighStaging buffer copy (moderate)

Selection Guidance

Default Backend

MOP_BACKEND_AUTO selects:

  1. OpenGL (if MOP_HAS_OPENGL is defined)
  2. CPU (always available)

Applications that prefer Vulkan should request it explicitly via MOP_BACKEND_VULKAN.