Im looking for tips to enable an already working feature on PC Alpha to Coverage for Oculus Go and Android.
I hope it solves the Problem that all my masked materials alias very significantly (such as foliage).
Here is code i found deep on the Oculus Dev Platforms that allows us to enable Alpha 2 Coverage for Android! So no credits for me please. I updated it for 4.22
Important to note that it increases the cost of masked materials! And there is a Qualcomm forced dithering. It still looks way better, so for some of you it could make sense.
MobileBasePassPixelShader.usf
Line 622
OutColor.a = Opacity;
Line 664
// CHANGE BEGIN
#if MATERIALBLENDING_MASKED
#if OUTPUT_MOBILE_HDR
if (GetHDR32bppEncodeMode() != HDR_ENCODE_NONE) // FP16 HDR stores Z in framebuffer alpha
#endif
{
OutColor.a = GetMaterialMaskInputRaw(PixelMaterialInputs);
}
#endif
// CHANGE END
OpenGLCommands.ccp
Line 1430
if (RenderTargetBlendState.bAlphaBlendEnable)
{
FOpenGL::EnableIndexed(GL_BLEND,RenderTargetIndex);
glDisable(GL_SAMPLE_ALPHA_TO_COVERAGE); //CHANGE
}
else
{
FOpenGL::DisableIndexed(GL_BLEND,RenderTargetIndex);
glEnable(GL_SAMPLE_ALPHA_TO_COVERAGE); //CHANGE
OpenGLDrv.cpp
Line 620
// Intel HD4000 under <= 10.8.4 requires GL_DITHER disabled or dithering will occur on any channel < 8bits.
// No other driver does this but we don't need GL_DITHER on anyway.
glDisable(GL_DITHER);
glEnable(GL_SAMPLE_ALPHA_TO_COVERAGE); //CHANGE
if (FOpenGL::SupportsFramebufferSRGBEnable())
{