[c ++ opengl ES 2.0 App仅在Nvidia屏蔽平板电脑上渲染线框,但在其他设备上正确渲染

问题描述 投票:-1回答:1

在我的Nvidia Shield平板电脑上对该应用程序进行测试期间,它仅显示线框,而不填充多边形。同一应用程序可以在LG G6手机上以及Windows中作为UWP应用程序正确呈现(填充的多边形)。我正在使用Visual Studio 2019社区通过opengl ES 2.0在c ++中进行编码。查看平板电脑上的调试设置,找不到“强制线框”之类的内容。我不知道我应该在这篇文章中包括代码的哪一部分。我正在使用android 7.0,这是该平板电脑的最新版本。是否有人在其他设备上也遇到过相同的问题?

android c++ opengl-es opengl-es-2.0
1个回答
-1
投票

找到了:那是像素阴影。舍入显然不能很好地在nvidia盾上实现:

    gl_FragColor = vColor*smoothstep(0.0, length(fwidth(vTexcoord)), 1.0 - length(vTexcoord)); //doesn't work

gl_FragColor = vColor*smoothstep(0.0, length(fwidth(vTexcoord)), 0.9999 - length(vTexcoord)); //works
© www.soinside.com 2019 - 2024. All rights reserved.