テクスチャという単語は聞いたことがあるかもしれないし「テクスチャを貼り付ける」だとか「画像を貼り付ける」だとかいうのは良く言われる。ゲームを作る場合はテクスチャを画像と同じ大きさの四角形のポリゴンに対して貼り付けることで画像を、例えばキャラクターの画像など画面上に表示させることができる。一体テクスチャとはどういうものなのか、どういう原理で画像をディスプレイに表示しているんだろうか。自由に画像を表示できるようになる。エフェクトをつけるのだって自由自在。あなたは既にテクスチャのある世界への一歩を踏み出している。画像を表示するためにテクスチャを使うならば兎にも角にも、表示したい画像の用意が必要になる。新規プロジェクトを作った時に最初から同梱されているあの有名なドロイド君を使って説明を進めてみようと思う。いつもありがとう、ドロイド君。画像に困ったときは君だね☆さて、ドロイド君に登場してもらったところで実際にこのドロイド君をテクスチャとして利用するためには、いろいろと前準備をやっとかないといけない。対して以下のような要求を送ってやることになる。テクスチャが欲しいので新しく作ってちょうだい!ありがとう。用意されているのでそれを呼び出すだけでいいので簡単なのだ。最低限これだけ把握できていれば問題はない。対して新しいテクスチャを生成するよう要求しないといけない。いうメソッドがあり、それを使って新しいテクスチャを生成する。一気に複数のテクスチャの生成を要求することができる。生成したテクスチャのバインドテクスチャを生成したらそのテクスチャをバインドする必要がある。テクスチャをバインドすることで、そのバインドされたテクスチャに対して、テクスチャパラメータの設定をしたり画像データを送信したりすることができるようになる。側でテクスチャの状態を持っていて現在バインドされているテクスチャに対して行われるということになる。フィルタリングの設定テクスチャをバインドしたら、まずそのテクスチャに対してフィルタリングの設定をしてあげる。ここでフィルタリングの話をするよりかは、順番的にはまず画像を表示できるまでの仕組みを説明して、その後でフィルタリングの話をした方がわかりやすいので、ここでは省略。転送そしてバインドされたテクスチャに対して画像データを送信する。画像読み込みの関数はない。ラッパーを準備してくれている。親切!こんな風にしてバインドしているテクスチャを変更しながら画像データを送信してテクスチャを準備していく。取得してそれをそのまま渡せるような仕組みになっている。そのポインタを渡せばいい。その機能がないのであれば他から拝借すればよい。画像データの送信まで完了すればテクスチャを使う準備は完了していて、バインドされているテクスチャはフラグメントシェーダによって参照される。フラグメントシェーダでは、バインドされているテクスチャのどこの座標の色を使うのかを指定することでその座標の色を抽出してきてくれる。範囲の座標系になっている。