Próbuję po raz pierwszy przekazać wartość boolowską do mojego modułu cieniującego wierzchołków; Do tej pory używam tylko floatów.OpenGL ES (2.0) Język cieniowania: Jak wprowadzić boolean do vertex shader i przejść do shadera fragmentów?
Dana boolean jest prymitywna, więc nie można jej przekazać jako jednolitej. Jednak ma tę samą wartość dla wszystkich wierzchołków danego prymitywu.
Z "Khronos spec" wynika, że "zmiana" jest jedynym sposobem przekazania danych do modułu cieniującego fragmentu, ale nic dziwnego, że deklaruje "zmienny bool my_bool;" powoduje błąd analizatora składni, gdy jest zdefiniowany w moim procesorze wierzchołków.
Jestem przekazując logiczną do mojego vertex shader jak:
attribute bool a_my_bool;
zdefiniować zmienną, próbując przejść do modułu cieniującego fragmentu:
varying bool v_my_bool;
void main() {
// ...
v_my_bool = a_my_bool;
}
Czy ktoś mógłby mi powiedzieć, jak Mogę osiągnąć to, co zamierzam?