【问题标题】:OpenGL ES 2.0, What's the range of Varyings?OpenGL ES 2.0,Varyings 的范围是多少?
【发布时间】:2014-09-11 21:38:09
【问题描述】:

在我的顶点着色器中,我创建了:

attribute vec2 a_varytest;              
varying  vec2 v_varytest;

并设置值:

v_varytest=a_varytest;

在我的片段着色器中,我创建了:

varying  vec2 v_varytest;

问题是:

当我在主应用程序中将属性“a_varytest”的值设置在 0.0 和 1.0 之间时,插值工作正常。 但是当我将它设置为 10.0 时,我得到了一个黑色的场景。片段着色器中的 Varyings 似乎不能大于 10.0,否则插值将不起作用。

我测试了变化的 v_varytest 的值。它始终是 2.0。所以,看起来当 Varying 的值大于 10.0 时,插值不会发生,并且值会自动设置为 2.0。

谁告诉我原因。

【问题讨论】:

    标签: ios opengl-es


    【解决方案1】:

    我找到了原因,我有:

    precision lowp float;                   
    

    在我的代码中,float的精度只有8个字节。

    我评论了那行,它又起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-05
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多