繁体   English   中英

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

[英]c++ opengl ES 2.0 App renders only wireframe on Nvidia shield tablet, but renders correctly on other devices

在我的 Nvidia Shield 平板电脑上测试应用程序时,它只显示线框而不是填充多边形。 相同的应用程序在我的 LG G6 手机上正确呈现(填充多边形),在 Windows 中作为 UWP 应用程序。 我正在使用 Visual Studio 2019 社区在 c++ 中编码,使用 opengl ES 2.0。 查看平板电脑上的调试设置,我找不到像“强制线框”或类似的东西。 我不知道我应该在这篇文章中包含我的代码的哪一部分。 我使用的是 android 7.0,这是这款平板电脑的最新版本。 任何人都有同样的问题,也许在其他设备上也是如此?

找到它:它是像素着色器。 四舍五入显然在 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM