Funktion mit dem Rückgabetyp bool im OpenGL ES-Shader mit GPUImage
Ich arbeite an einem iOS-Projekt mit GPUImage-Framework. Ich kann meinen Shader nicht erfüllen lassen.
In meinem Fragment Shader gibt es eine Funktion:
const vec2 boundMin = vec2(0.0, 0.0);
const vec2 boundMax = vec2(1.0, 1.0);
bool inBounds (vec2 p) {
return all(lessThan(boundMin, p)) && all(lessThan(p, boundMax));
}
Shader-Kompilierungsprotokoll:
ERROR: 0:1: '_Bool' : syntax error syntax error
Wenn ich alle Anrufe ersetze, funktionieren sie
inBounds(vec2 p)
mit
all(lessThan(boundMin, p)) && all(lessThan(p, boundMax))
Es klapptgroß!
Fragen:
Wird die Bool-Funktion in OpenGL ES 2.0 Fragment Shader unterstützt? Wenn ja, wo habe ich mich geirrt? Wenn nicht, warum gibt es Funktionen wieall()
, lessThan()
, usw.
Umgebung: iPad mini, iOS 7, OpenGL ES 2.0, Xcode 5.0.2