função com tipo de retorno booleano no OpenGL ES shader usando GPUImage
Estou trabalhando em um projeto iOS, usando a estrutura GPUImage. Não consigo fazer meu shader ser cumprido.
Há uma função no meu shader de fragmento:
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));
}
Log de compilação do sombreador:
ERROR: 0:1: '_Bool' : syntax error syntax error
Quando substituo todas as chamadas para funcionar
inBounds(vec2 p)
com
all(lessThan(boundMin, p)) && all(lessThan(p, boundMax))
funcionaótimo!
Questões:
A função bool é suportada no OpenGL ES 2.0 Fragment Shader? Se sim, onde eu errei? Caso contrário, por que existem funções comoall()
, lessThan()
, etc.
Ambiente: iPad mini, iOS 7, OpenGL ES 2.0, Xcode 5.0.2