タグ

2012年9月6日のブックマーク (5件)

  • glGetShaderInfoLog

  • もんしょの巣穴blog 2009年02月

    1日1HaloWars状態のMonshoです。 さすがに慣れてきたのでヒロイックでも余裕です。 そろそろいろいろ縛りプレーでもしようかな。 GLES2.0プログラムその02はシェーダコンパイルです。 なぜいきなりシェーダなのかというと、GLES2.0には固定シェーダがないからです。 単色トライアングルを出すだけでもシェーダを書かなければいけません。 GLES2.0のシェーダは頂点シェーダとフラグメントシェーダに分かれています。 頂点シェーダはそのままの意味で、フラグメントシェーダはピクセルシェーダのことです。 ピクセルシェーダといった方がわかりやすいかもしれませんが、ここではフラグメントシェーダと言うことにしましょう。 今回使用するシェーダプログラムは以下の通りです。 // 頂点シェーダコード attribute highp vec4 myVertex; uniform mediump m

  • 床井研究室 - 第3回 シェーダプログラム

    固定機能の廃止 レンダリングパイプラインにおいて固定機能ハードウェアで実装されていた機能が廃止された場合, それらをシェーダで実装しなければ図形を描くことができません. このため, OpenGL を使ってプログラムを書く際には, CG の基礎的な理論に関する知識が必須になりました. CG の授業をしていて, 内心で「でもこれはハードウェアに組み込まれてるんだよな」とか思ったりしてましたけど, 無駄ではなかったんだと胸をなでおろしていたりします. シェーダプログラムとラスタライザ アプリケーションプログラムは, 描画する基図形を指定した後, 頂点情報を GPU に送ります. 頂点情報はバーテックスシェーダの attribute 変数に格納され, これを用いて座標変換や陰影計算などを行います. 頂点の座標値はクリッピング座標系に変換して, バーテックスシェーダの出力変数 gl_Positio

    床井研究室 - 第3回 シェーダプログラム
  • GLSLシェーダによる簡単な描画プログラム

    やっとホームページのタイトル通り、GLSLを使用したサンプルプログラムをアップすることができました。最初、何を紹介しようかと迷ったのですが、GLSLそのものよりも、GLSLを読み込みんでコンパイルする方法にしました。現在、OpenGL2.1以降でオフラインコンパイラも検討されていますが、通常、実行時にシェーダをコンパイルするからです。 GLSLのロードとコンパイル シェーダプログラムにはバーテックスシェーダ(頂点シェーダともいいます)とフラグメントシェーダ(ピクセルシェーダともいいます)の2種類があり、二つセットで使用します。簡単な流れとしては、二つのシェーダプログラム(ソース)をそれぞれ読み込み、コンパイルし、それらをリンクして、プログラムオブジェクトを作成します。言葉で説明するよりも、プログラムを見た方が早いと思います。太字の部分がgl関数です。 int FUTL_LoadShader

  • 床井研究室 - 第1回 シェーダプログラムの読み込み

    戦力外通告 一口に仕事といってもいろんな側面があるとは思うのですが,だからと言って独りよがりなことばかりしていれば,評価を得ることはできません.そして評価が得られない状態が継続していると,当然その組織に貢献していないと見なされ,戦力外を通告されることになります. もっと組織に貢献する形で行動を最適化しなければと考えています.ちょっと頑張ってみます (2013年7月3日追記). 固定機能の追加の限界とプログラマブルシェーダ dot3 バンプマッピングやシャドウマッピングは,画素単位の陰影付けや影付け処理を固定機能のハードウェア上に実装するための,非常に巧みな拡張機能だと思います.しかし,ユーザ(デザイナ,プログラマ)の多様な発想から発せられる様々な要求をこのような形で実装し続けることには,遠からず限界がきます.したがって,ユーザの発想をユーザ自身の手によって実装できるような仕組みを用意するこ

    床井研究室 - 第1回 シェーダプログラムの読み込み