mirror of
https://github.com/spoopyghosty0/frameport.git
synced 2026-10-23 11:01:55 +02:00
Star Wars: Beyond Victory's mixed reality showed the room on the game's objects and black where the room should be. Unreal keeps 1 - coverage in the scene alpha, and OVRPlugin chains XrCompositionLayerAlphaBlendFB (colour ONE_MINUS_SRC_ALPHA / SRC_ALPHA) to the eye layer; the Frame's runtime ignores the struct and blends with the plain texture alpha. New adapter setting alpha_blend_emul (default on, Vulkan): while passthrough is emulated and the projection layer asks for inverse blending, the alpha of the eye image rectangles is inverted in place (alpha-only blend pass, once per acquired image, queued ahead of the runtime's submission). layer_debug now also logs the blend factors. Headless on the Frame: factors (3,2/3,2) seen, inversion runs, 72 fps, no rejected frames. Not yet checked in the headset.
4 lines
172 B
GLSL
4 lines
172 B
GLSL
#version 450
|
|
// A triangle that covers the whole viewport (alpha_blend_vk.c).
|
|
void main(){vec2 p=vec2((gl_VertexIndex<<1)&2,gl_VertexIndex&2);gl_Position=vec4(p*2-1,0,1);}
|