Я изучаю WebGL. Следующие шейдеры работают нормально:
// vertex.shader
// precision mediump float;
attribute vec4 a_Position;
attribute float a_PointSize;
void main(){
gl_Position = a_Position;
gl_PointSize = a_PointSize;
}
и
// fragment.shader
precision mediump float;
uniform vec4 u_FragColor;
void main(){
gl_FragColor = u_FragColor;
}
Почему необходимо установить прецессию для шейдера фрагмента? Vertex shader работает без этого, но фрагментарный шейдер не работает без этой строки кода (как я вижу). Почему существует различное поведение?
Я читал этот раньше, но мне это не помогло.