game capture of Valorant Hud only with allow transparency on, which capture method is used?

MUX

New Member
I ran across this thread on reddit, & managed to duplicate it with the following:
1-run Valorant in full screen exclusive mode (Disable full screen optimization) "or don't tested with it enabled no difference"
2-Add a game capture source, specific window capture, select valorant, default setting but with Allow transparency turned on
the result was the same with only the HUD & parts of the scene that it's drawn on being visible while the rest is black:
2022-10-29 12-24-30.avi_snapshot_00.09.731.png

I want to replicate the same behavior in a small capture code I'm writing but idk which capturing method is obs using in this case with that settings, & what does allow transparency do exactly that results in the hud elements being the only thing captured, I can at least exclude it using Windows.Graphics.Capture method since it's incapable of capturing true FSE apps "which isn't a requirement, as mentioned above", & if this is done through hooking D3D is it possible to do it without hooking it since that will probably trigger Vanguard for my capturing app (I've no idea what obs's anti cheat compatibility hook is "or is implemented" exactly & no idea if I can code the same for my program or if it involves some sort of signed library or whatever)
 

R1CH

Forum Admin
Developer
"Allow transparency" uses the alpha values from the captured texture. In a game like Valorant, the textures do not use alpha as there is no reason to, so the values are complete junk, in this case they happen to be fully transparent so the texture is not visible. "Allow transparency" should only be enabled when you know the game is making use of textures with an alpha channel.
 

MUX

New Member
So would something like desktop duplication api/Windows.graphics.capture work since they return texture, or even normal CreateCompatibleDC/bitblt? I'm sorry if my question is dumb or misunderstanding things, I'm new to this area
 
Top