Make a decision that you can validate

You now have all the pieces needed to evaluate Opacity Micromaps (OMM), but they become useful only when you connect them in one decision. A suitable asset still needs a sensible bake strategy, a supported runtime path, and a fallback that preserves the original image.

You’ll make that decision for a sample leaf asset. You don’t need OMM-capable hardware because this section includes both bake results and a saved device capability report.

Image Alt Text:Pipeline diagram assigning OMM responsibilities across content authoring, the engine and RHI, the Vulkan API and driver, and Mali hardware. Each stage passes its output to the next, from per-triangle data to the final opacity decision.Ownership and outputs across the OMM pipeline

The responsibility map shows how content, baking, engine integration, and the driver contribute to the final result. Use the map to identify where each piece of evidence comes from and who should investigate a failure.

Review the sample asset

Consider a team that wants to use OMM for a static ginkgo leaf. The asset is a two-triangle quad with an alpha mask, and it appears in ray-traced shadows and reflections. Its mesh, UV coordinates, alpha mask, cutoff, and filtering remain stable for each level of detail (LOD), so it passes the initial suitability check.

The team tests two bake strategies. The results are illustrative, and the raw payload sizes don’t include record metadata, alignment, or implementation-specific storage:

Evidence4-state candidate2-state candidate
Subdivision level35
Microtriangles per original triangle641,024
Raw state payload per original triangle16 bytes128 bytes
Resolved regions82%100%
Unknown regions18%, concentrated along the edge and stemNone
Reference-image comparisonMatchesMatches
Runtime behaviorEdge candidates retain shader-side evaluation.Every OMM candidate resolves during traversal.

The target profile sets a budget of 32 bytes of raw OMM state data for each original triangle. Profiling also shows that shader-side evaluation along the leaf edge is measurable, but it doesn’t dominate frame time. Your decision therefore needs to balance storage against the benefit of resolving every region in hardware.

Before choosing a candidate, also check that the target device can use it. The saved capability report contains these illustrative values:

CapabilityValue
VK_KHR_opacity_micromapAvailable
micromapVK_TRUE
maxOpacity2StateSubdivisionLevel5
maxOpacity4StateSubdivisionLevel4
Required ray-query execution modeEnabled

Record your decision

Use the evidence to decide the following:

  • Whether the asset should use OMM, and why
  • What the format and subdivision should be
  • What the fallback behavior should be when OMM is unavailable
  • What images you’ll compare for validation
  • What you’ll record to verify that the OMM path executed
  • What asset changes invalidate the bake

There can be more than one technically valid approach, but your choice should respect the data budget and define how you’ll preserve image quality.

Review the suggested adoption plan

For the stated constraints, use the level-3, 4-state candidate. It stays within the 32-byte raw payload budget, matches the reference image, and resolves most regions during traversal. It leaves the difficult leaf edge and thin stem as unknown, where shader-side evaluation can preserve their detail.

DecisionSuggested record
Use OMMYes. The mask is stable, the asset receives rays, and most regions resolve.
Format and subdivisionUse 4-state at level 3.
Fallback behaviorBuild the original alpha-tested BLAS without OMM and keep the same cutoff, filtering, and alpha source.
Image validationCompare OMM-on, OMM-off, and reference images across shadows, reflections, LODs, and camera distances.
Runtime validationRecord device support, successful micromap and BLAS builds, and triangle links. Also record state ratios and active pipeline or shader controls.
Rebuild ruleRebuild after changes to triangle order, UVs, alpha data, cutoff, filtering, or LOD source data.

The device also supports the level-5, 2-state candidate, and that option removes all unknown regions. However, its 128-byte raw payload exceeds the asset budget. Reconsider it only if the resource budget changes and profiling shows enough benefit from removing the remaining shader-side work.

Now use the same decision record for the asset you chose earlier. If you chose an asset from your project, record the evidence that you have. If you imagined an asset, note what evidence you’d need to collect for each decision.

Diagnose a failed validation

Validation can fail even when the bake itself succeeds. Start with the symptom that you can observe, then work backwards through the owner and data that’s most likely to explain it:

ObservationStart withInspect
The leaf loses edge detailContent and bakerCutoff, UVs, subdivision, filtering, and states
The OMM build failsEngine and driverFeatures, sizes, buffers, and synchronization
The BLAS has no OMM linksEngineTriangle mapping and BLAS input
Mali G2-Ultra NX doesn’t enable OMMEngine and driverExtension, feature, limits, and pipeline settings
Unknown covers too much areaContent and bakerTexture detail, format, subdivision, and filtering
OMM and reference images differAll ownersAsset version, links, states, and runtime controls

What you’ve accomplished

You’ve now connected information from earlier to build an OMM adoption plan on the Mali G2-Ultra NX, and kept the original alpha-tested path as a fallback.

Your adoption record serves as something concrete to review. It captures not only the chosen settings, but also the image and runtime evidence needed to check the decision again after an asset, engine, or driver change.

Back
Next