int
をそのままin
/out
で渡そうとするとコンパイルエラーになる.
// vertex shader
out int id;
void main() {
// snip.
}
// fragment shader
in int id;
void main() {
// snip.
}
回避するにはout
とin
の手前にflat
をつけてあげる必要がある.
// vertex shader
-out int id;
+flat out int id;
void main() {
// snip.
}
// fragment shader
-in int id;
+flat in int id;
void main() {
// snip.
}
そもそもint
を渡すこと自体があまりお行儀よくない気もするので,struct
等に詰めたほういい気がしている.