VisualStudioで使うなら、Nshaderみたいなのを入れると定義の色とかが変わる。
http://www.horsedrawngames.com/shader-syntax-highl...

基本

https://bitbucket.org/asama-yaya/glsl_shader_ji-be...
基本とかいいつつテクスチャを使っている。
シェーダーのほうでテクスチャを管理しているので、OBJLoaderのほうでのテクスチャは無視。
  • display関数の中身
// textureの有効化
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, testTexId);

glActiveTextureとかglBindTextureは割と大事です。
GL_TEXTURE2とかにするとうまくいかないっすね。

glBindTextureは速度の関係であまり複数回呼ばないほうがいいみたい。

マルチプルレンダリングとちょっとした画像処理

https://bitbucket.org/asama-yaya/glsl_shader_multi...

  • マルチプルレンダリングターゲット
オフスクリーンレンダリングを複数枚のテクスチャを対象にやっちまう感じ。
事前にテクスチャを作っておいて、FBOと関連付けることで実装できる。
用途としては、本来の描画結果とデプス情報を一度に出力したりとか。

実装しているのは、テクスチャ・拡散反射・鏡面反射をそれぞれ出力している。
で、メインでどれかを表示している。

  • 画像処理
画像をテクスチャにぶっこんでシェーダに送ったあと、平面を描画させると、
フラグメントシェーダで画像処理みたいなことができる。

実装しているのは、ワーピング
画素対応をテクスチャとして格納しておいて、それを参照しながらワーピングを実装している。
歪補正とかもできるよ。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます