vertex shader -> fragment shaderで整数型を渡す

  • 1
    いいね
  • 0
    コメント

intをそのままin/outで渡そうとするとコンパイルエラーになる.

// vertex shader
out int id;

void main() {
  // snip.
}
// fragment shader
in int id;

void main() {
  // snip.
}

回避するにはoutinの手前に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等に詰めたほういい気がしている.

References