KhronosGroup / KhronosGroup/Vulkan-Samples

Add an Opacity Micromap sample

Open
#1,542 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
C++
Stars
5.4k
Forks
835
Avg merge
2h 16m
Merged PRs (30d)
1

Description

Hi,

I have been experimenting with an Opacity Micromap sample based on `VK_EXT_opacity_micromap` in my personal fork:

https://github.com/yknishidate/Vulkan-Samples/tree/omm_sample

Image

I know that NVIDIA already provides dedicated samples here:

https://github.com/NVIDIA-RTX/OMM-Samples

However, if there is value in adding an Opacity Micromap sample to the Vulkan-Samples repository as well, I would be happy to prepare a PR. (Unlike NVIDIA’s sample, my sample does not depend on an external OMM SDK; it bakes the OMM using a simple compute shader.)

One thing to note is that my current implementation is based on `VK_EXT_opacity_micromap`. Since the [VK_KHR_opacity_micromap](https://github.com/KhronosGroup/Vulkan-Docs/blob/main/proposals/VK_KHR_opacity_micromap.adoc) specification appears to have been finalized only a few days ago, I am thinking it may be better to wait a little, migrate the sample to the KHR version, and then submit a PR.

Also, the leaf image used as the alpha mask is not included in my current working branch. If the maintainers are open to accepting this sample, I would also like to add the image to the [Vulkan-Samples-Assets](https://github.com/KhronosGroup/Vulkan-Samples-Assets) repository. The image was drawn by myself in Figma.

Please let me know whether this would be a welcome addition, and whether you would prefer the sample to target the KHR version before opening a PR.

Thanks!

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the linked omm_sample branch and the VK_KHR_opacity_micromap proposal, then compare the approach with NVIDIA's OMM-Samples. Done would mean an agreed Vulkan-Samples sample targeting the preferred specification, with its asset handled through Vulkan-Samples-Assets; the issue currently awaits maintainer direction before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.