OpenGL ES 2.0,Varyings的范围是什么?

时间:2014-09-11 11:00:43

标签: ios opengl-es

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

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。

有人告诉我原因。

1 个答案:

答案 0 :(得分:0)

我找到了原因,我有:

precision lowp float;                   

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

我评论说这行,它再次起作用。