ios – 为什么GLSL的算术函数会在iPad上产生与模拟器不同的结果?

ios – 为什么GLSL的算术函数会在iPad上产生与模拟器不同的结果?,第1张

概述我正在追逐在iOS设备上运行的OpenGL ES 2.0片段着色器代码中的一些错误.代码在模拟器中运行良好,但在iPad上它有很大的问题,一些计算产生了截然不同的结果,我在iPad上有0.0和在模拟器上有4013.17,所以我不是在谈论小差异可能是一些舍入错误的结果. 我注意到的一件事是,在iPad上, float1 = pow(float2, 2.0); 可以产生与结果非常不同的结果 float 我正在追逐在iOS设备上运行的OpenGL ES 2.0片段着色器代码中的一些错误.代码在模拟器中运行良好,但在iPad上它有很大的问题,一些计算产生了截然不同的结果,我在iPad上有0.0和在模拟器上有4013.17,所以我不是在谈论小差异可能是一些舍入错误的结果.

我注意到的一件事是,在iPad上,

float1 = pow(float2,2.0);

可以产生与结果非常不同的结果

float1 = float2 * float2;

具体地说,当对包含较大负数的变量(如-8)使用pow(x,2.0)时,它似乎返回一个满足条件的值if(powResult< = 0.0). 此外,两个 *** 作(pow(x,2.0)以及x * x)的结果在模拟器中产生的结果与在iPad上产生的结果不同. 使用过的浮子是mediump,但我得到了与highp相同的东西. 对这些差异有一个简单的解释吗? 我正在缩小问题范围,但需要花费很多时间,所以也许有人可以通过一个简单的解释来帮助我.

解决方法 @L_502_0@表示如果x

相关文章

python - nltk模块的类似方法在不同的机器上产生不同的结果.为什么? java - 为什么这两个相似的代码片会产生不同的结果? haskell - 产生不同解释器结果的等效函数 javascript - 为什么.css('fontSize')在Edge中产生不同的结果? 颜色 - 为什么CSS过滤器hue-rotate会产生奇怪的结果? scala - 为什么应用于2个函数的部分函数以2种不同的方式执行相同的 *** 作会返回不同的结果? 为什么用-fllvm编译这个Haskell程序产生不同的结果? angularjs - 为什么ng-bind-html和$sanitize产生不同的结果? 点击查看更多相关文章

转载注明原文:ios – 为什么GLSL的算术函数会在iPad上产生与模拟器不同的结果? - 代码日志

总结

以上是内存溢出为你收集整理的ios – 为什么GLSL的算术函数会在iPad上产生与模拟器不同的结果?全部内容,希望文章能够帮你解决ios – 为什么GLSL的算术函数会在iPad上产生与模拟器不同的结果?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1098696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存