0xS*_*ina 5 iphone opengl-es ios opengl-es-2.0
我有一个片段着色器,具有以下属性:
varying highp vec2 coordinate;
precision mediump float;
uniform sampler2D videoframe;
uniform sampler2D videosprite;
uniform vec4 mask;
uniform float threshold;
Run Code Online (Sandbox Code Playgroud)
我正在获取他们的位置,然后设置它们:
_frame = glGetUniformLocation(_program, "videoframe");
_sprite = glGetUniformLocation(_program, "videosprite");
_mask = glGetUniformLocation(_program, "mask");
_threshold = glGetUniformLocation(_program, "threshold");
NSLog(@"%i %i %i %i", _frame, _sprite, _mask, _threshold);
Run Code Online (Sandbox Code Playgroud)
但是,日志显示: 0 2 1 -1
从文档中,我看到-1(阈值均匀)意味着它失败了.它为什么失败?谢谢
Chr*_*ica 10
GLSL编译器可以(通常会)优化着色器中未使用的任何制服和属性.您只能查询活动制服的位置,即在着色器的至少一个分支中使用的位置.
所以我想这个threshold变量不会在着色器代码中的任何地方使用.但在这种情况下,无论如何你都不需要它的值,为位置设置一个统一的值-1就什么都不做.所以你实际上不必担心这个.
| 归档时间: |
|
| 查看次数: |
1690 次 |
| 最近记录: |