我正在尝试在Galaxy S6上使用GearVR中的MSAA进行新的前向渲染。但肯定没有抗锯齿化。完全没有。
经过大量的在线搜索和编辑后,我发现以下变量可能与开启MSAA有关:
1。 窗口>开发人员工具>设备配置文件>机器人:
如果我在UEd中的设备配置文件编辑器中更改它们,上述情况似乎都没有区别。
2。 编辑>项目设置>引擎>渲染>默认设置>抗锯齿方法:。将其设置为MSAA无效。
3。 我也试过在DefaultEngine.ini中设置所有以前的变量而没有。
我必须要忽略一些东西。如果有人有任何想法,我真的很感激。
答案 0 :(得分:1)
原来:
关于如何检查MSAA确实已启用:
您可以通过搜索以下内容来检查在logcat中运行设备的时间:
LogHMD: Enabling r.MobileOnChipMSAA, previous value 0
您还可以在 OpenGLRenderTarget.cpp:第201行添加日志(并重新编译引擎)。你想确保你击中:
glFramebufferTexture2DMultisampleEXT
由于此代码路径中的else分支否则会创建一个非多重采样的FBO。
然而,MSAA样本计数似乎在引擎源中的其他位置硬编码为2。 在long discussion in the Oculus forums我被告知后,我可以在第152行更改样本数(例如,有MSAA x4):
`// TODO: Mali supports 4x with similar hit as 2x, should we do something smarter here? Hard coded to 2 everywhere else
const uint32 SampleCount = 2;
但是在设备上运行时没有执行此代码路径。所以不确定2可能在哪里被硬编码。