`precision mediump float`是啥意思?
Posted
技术标签:
【中文标题】`precision mediump float`是啥意思?【英文标题】:What does `precision mediump float` mean?`precision mediump float`是什么意思? 【发布时间】:2012-11-26 15:58:34 【问题描述】:在learningwebgl tutorial1 中,我在片段着色器中发现了一条有趣的行。
precision mediump float;
我找到了一篇关于它的文章here,但我还是不明白这是什么意思?
如果我删除这条线,什么都不会改变。一切都是一样的。
那么precision mediump float
是什么意思呢?
【问题讨论】:
看看this SO post,尤其是GLSL规范。它回答了你的问题吗? In OpenGL ES 2.0 / GLSL, where do you need precision specifiers?的可能重复 你没有从你的文章中理解mediump是什么意思,因为它没有解释它。 【参考方案1】:这决定了 GPU 在计算浮点数时使用的精度。 highp
是高精度的,当然比mediump
(中精度)和lowp
(低精度)更密集。
某些系统根本不支持highp
,这将导致代码在这些系统上根本无法运行。
在支持highp
的系统上,您会看到性能下降,应尽可能使用mediump
和lowp
。我看到的一个很好的经验法则是:
- highp
用于顶点位置,
- mediump
用于纹理坐标,
- lowp
用于颜色。
希望有帮助!
【讨论】:
谢谢。如果支持高/中/低 p,是否有可能? 不同的系统会支持不同的设置。我读过的关于不被支持的唯一一件事就是高。我认为中等和低级应该是安全的,但是如果某些代码没有在设备上运行并且您找不到原因,总有一天要记住这一点:) 感谢您的经验法则,真的很有帮助,您知道我在哪里可以找到每种类型的尾数的实际精度吗?我知道这并不重要,我只是对此感到好奇。 @TrevorHart - 试试这个:litherum.blogspot.com/2013/04/… 这是 GLSL 还是 GLSL ES 功能?是否已弃用?以上是关于`precision mediump float`是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
在cin / cout和scanf / printf期间在C ++中保存float和double precision
PHP7.4 json_encode 造成float数据精度异常情况
openGL之API学习(一七二)error C0000: syntax error, unexpected identifier, expecting “::“ at token “mediump“
2019-11-13 PHP7.x json_encode() Float Issue
为什么sklearn中的sklearn.metrics.RocCurveDisplay可视化的图像中的AUC值的有效小数位数为两位?而不能自定义调节(floating point precision)