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
Selection face tintYesYesYes
Flex vertex formatYesYesYes
Undo/redoYesYesYes
ParticlesYesYesYes
Water surfaceYesYesYes
Post-processingYesYesYes
FXAAYesNoYes
4x MSAANoNoYes
Reverse-Z depthNoNoYes
Cascade shadow mapsNoNoYes
Platform dependencyNoneGL 3.3Vk 1.2
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.