今までLocationの書き方がアホだったと思ったので名前を変えた。というか連想配列使った。参考にしたのはこちらフラグメントシェーダーで遊ぶ 再び:リンク先間違えてたので修正。俺はわざわざHash.new()してるけどリテラルで書けるんだよなぁ。別にHash.newを選んでる意味は無い。
@locations = Hash.new() @locations[:ambient] = GL.GetUniformLocation(@program, 'ambient') @locations[:alpha] = GL.GetUniformLocation(@program, 'alpha') @locations[:sampler] = GL.GetUniformLocation(@program, 'sampler') @locations[:use_texture] = GL.GetUniformLocation(@program, 'useTexture')