Transparent brushes aren't visible in passthrough mode on latest beta

20 Replies
andybak
andybakOP8mo ago
@mikesky no great surprise but this is the offending commit: https://github.com/icosa-foundation/open-brush/pull/613/files#diff-4fa1d1641eac596f779411a63873fc5699b497b587a5f4414d66c279b97b6cbb every change looks pretty harmless apart from maybe this:
#if PASSTHROUGH_SUPPORTED
OVRManager.eyeFovPremultipliedAlphaModeEnabled = false;
#endif
#if PASSTHROUGH_SUPPORTED
OVRManager.eyeFovPremultipliedAlphaModeEnabled = false;
#endif
would you agree?
mikesky
mikesky8mo ago
Holy shit you’ve cracked it This is why oculus Passthrough “works” when all the others don’t quite
andybak
andybakOP8mo ago
well. aside from all transparent brushes being invisible!
mikesky
mikesky8mo ago
Yes, that’s what happens in zapbox and pico! If we could find a way to do premult on other platforms it would be”fix” passthrough there
andybak
andybakOP8mo ago
oh ffs. squash commits are again destroying my ability to do forensics and retrace my steps. remind me why deleting history is a good thing, again?
mikesky
mikesky8mo ago
Clean graph in Fork 😉
andybak
andybakOP8mo ago
yeah. that seems like weak sauce to me
mikesky
mikesky8mo ago
There was other reasons, but I’ve forgotten them. @mikeage?
andybak
andybakOP8mo ago
Can we at least not delete PR branches when we merge? Maybe move them to an attic/ prefix "folder" I'm still a bit confused. Should eyeFovPremultipliedAlphaModeEnabled be true or false?
mikesky
mikesky8mo ago
it should be true (which i'm guessing is the default, or do we set it elsewhere?), at least that's the quick way to get passthrough to work. I'm not sure if that's also asetting that we could find for openxr, zapbox, and pico, that would also achieve the same effect and get it working there too it's either that, or work out what else in our rendering isn't working. OR, now that we know that's how oculus 'fixes' it, work out what that's doing and emulate it elsewhere
andybak
andybakOP8mo ago
yay. luckily on my mac, i don't do git fetch --prune so I've still got the passthrough branch to see when i added that line But it surely shouldn't rely on me forgetting to do that to be able to check back to see a specific commit message So - I added eyeFovPremultipliedAlphaModeEnabled when I did my first initial work on the passthrough brush - so I most likely found it in Meta tutorial on passthrough - that's what I think I was following initially. Let me see if I can find it.
mikeage
mikeage8mo ago
You should also be able to undelete, I believe, but I don't recall how offhand and I'm on my mobile
mikesky
mikesky8mo ago
/// <summary>
/// If premultipled alpha blending is used for the eye fov layer.
/// Useful for changing how the eye fov layer blends with underlays.
/// </summary>
[HideInInspector]
public static bool eyeFovPremultipliedAlphaModeEnabled
{
get { return OVRPlugin.eyeFovPremultipliedAlphaModeEnabled; }
set { OVRPlugin.eyeFovPremultipliedAlphaModeEnabled = value; }
}
/// <summary>
/// If premultipled alpha blending is used for the eye fov layer.
/// Useful for changing how the eye fov layer blends with underlays.
/// </summary>
[HideInInspector]
public static bool eyeFovPremultipliedAlphaModeEnabled
{
get { return OVRPlugin.eyeFovPremultipliedAlphaModeEnabled; }
set { OVRPlugin.eyeFovPremultipliedAlphaModeEnabled = value; }
}
it then disappears into OVRPlugin with no more info 😅 https://microsoft.github.io/Win2D/WinUI3/html/PremultipliedAlpha.htm for later
andybak
andybakOP8mo ago
@mikesky Removing
#if PASSTHROUGH_SUPPORTED
OVRManager.eyeFovPremultipliedAlphaModeEnabled = false;
#endif
#if PASSTHROUGH_SUPPORTED
OVRManager.eyeFovPremultipliedAlphaModeEnabled = false;
#endif
seems to fix the transparent brushes and the passthrough brush still works. Still can't figure out where i got the idea that line was needed.
mikesky
mikesky8mo ago
Great to know! I see a few oculus samples turn it off, for whatever reason I’m looking to see if we can do this in a post process shader instead, then we could have it on all platforms It should be a really simple shader
Alexey
Alexey2w ago
Hi! I have the same issue with transparent brushes in MR on Quest 3. It happens on both beta and stable branches. What is interesting is that it looks fine on screenshots (pic 1) but not in the actual app (pic 2)
No description
No description
mikesky
mikesky2w ago
This is a separate meta OS bug I’m afraid, supposedly already fixed? Are you on the PTB firmware? Either way, try checking for an OS update, otherwise I’m afraid you might have to wait
mikesky
mikesky2w ago
GitHub
The drawing is invisible in passthrough · Issue #803 · icosa-founda...
Drawings are invisible when you go into a passthrough environment. Menus and controllers are still visible, and you can still draw. Drawings become visible again when you go to any environment othe...
Alexey
Alexey2w ago
Thank you for answering! I'll wait, hope the Meta will fix it soon. Not sure about the PTB (they seem to remove that switch from settings). Here is the version from the settings "v72 Build 5047332.12760.510 • Installed Dec 21, 2024".
mikesky
mikesky2w ago
I love Meta kneecapping their MR apps right before the busiest season 😅

Did you find this page helpful?