VertexShaderへのCustomAttributesでちょいハマった話。

過去の記事「忘れない」に追記でも全然良かったんだけど、2015年の記事をずっと更新していくのもblogの意味ないのでw
久しぶりに備忘録。

まータイトル通りなんですけど何故かlocationが取れない。いやVec3だからとかそう言う話じゃなくて宣言したカスタムattributesのlocationが取れない。正確に言うと取れるやつもあるけど5個目以降取れない!なんで!ってなってたんだけど色々調べつつやってたら自己解決。

shader側で

layout(location = 0) in vec3 hoge;

みたいに宣言までしてあとはoF側から

auto hogeAttLoc = shader.getAttributeLocation("hoge");

みたいな感じで取れるだろうと思ってたら全然取れなくてムキーなってたら
何の事は無いshader内で一度も使用されてないとlocationが取れないって話。

vec3 hoge_ = hoge;

なのでmain()内でとりあえず適当にこれでActiveになるらしく
無事locationが取れた。知らんがな。

you