OpenGL Shader Builderなどに関するメモ

 

ここに書かれたメモの正確性は保証しません。

OpenGL用ツ−ル

■OpenGL Shader Builder, OpenGL Profiler ,OpenGL Driver Monitor
Apple の説明ページ

(iTunes , iPhoto , iMovie , Grageband ) iLife , iWorks Appleworks 、まだ足りないものは2Dグラフィックツール と 3Dモデリングツールのような気がする。 Panther から、OpenGL 関係のツールがついていたのに気がついたのはTigerが発売された後になってからだった。 日本語化されていないのがつらいところ。Apple は 手軽に3Dアプリを開発できるように、まとめてほしいな。

これらは、Xcodeをインストールした際 /Developer/Applications/Graphics Tools/ディレクトリを探せば見つかる。
OpenGL Shader Builder:OpenGL Sheder コード を簡単に Xcode のプロジェクトとして出力できるらしい
OpenGL Profiler: OpenGLアプリの実行をトレースしたり、どんなOpenGL命令が使われているか解析する。
OpenGL Driver Monitor:VRAM とメモリの様子をモニターする。
Pixie:(OpenGLに関係ないけど) スクリーンキャプチャができる。 (tiff 形式で保存可能)

 OpenGL Shader Builder を使ってみた。

使ってみた感じでは、OpenGL Shader Builderというのは、 いくつかの設定をするだけで、陰影(シェーダー)を設定するOpenGLのコードををシミュレートしたり、シェーダーのコードを作成するツールらしい。 Xcodeのプロジェクトとしても保存することができるので、OSXでOpenGLプログラムをする手助けになるのではないかと思う。

何をすればいいか分からないので、サンプルから読み込んでみる。
/Developer/Examples/OpenGL/Shaders
の各フォルダに 拡張子.shdr のファイルがあり、これらをOpenGL Shader Builder から読み込んでみます。
メニューバーから File>Open で、shdrファイルを選択できる。 「ARB〜」というのはOpenGL の拡張命令で、それらを使用したレンダリング効果をみることができるらしい。
ARBFragmentProgram:
ARBVertexProgram : トゥーンシェードとか、
ATITextFragmentShader:バンプマッピングとか
OpenGL Shading Language(GLSL) は、OpenGL1.5 の拡張機能でシェーダー言語の一種らしい。 OpenGL Shader Builderでは ARB_vertex_shader, ARB_fragment_shaderスクリプトを使えるようだ。
下の画像の左半分のスクリプトがそれです。このスクリプトで書かれた設定が、右上のプロパティで編集可能。



この設定によってレンダリングされたサンプルを、ティーポット、球、板 のオブジェクトとして出力できます。 また、これらのオブジェクトにはテクスチャも貼ることもできます。

メニューバーから File>Exports as Xcode を選択すると プロジェクト名を聞いてくるので 名前をつけて保存することができます。 保存時にはプロジェクト名のディレクトリができあがり、同時にアプリケ−ションもコンパイルされるので注意してください。 OpenGLのために コードを書き連ねてレンダリング結果をあれこれ試行錯誤するより、手間がかかりません。

他のプログラムで使う為に

Xcodeプロジェクトとして出力されたファイル。
2shade.bmp : 2色
64shade.bmp :64色 パレット。
Main.m:Cocoa による Window を表示する基本プログラム。
Sample.m:OpenGL担当(ビューポートやシェーディングの設定, オブジェクトの読込み)
Teapot.c:サンプル3Dオブジェクトデータと、データの読み込み
Sample.h: ヘッダファイル
Teapot.h:
Sample.pbproj:Xcode設定

OpenGL Shading Language スクリプト
VertexProgram : 
FragmentProgram:


main.m -> sample.m -> Teapot.c

 OpenGL/gl.h 
 OpenGL/glext.h 
 OpenGL/glu.h を利用している。

SDLとGLUT のアトランティスのデモも、3Dオブジェクトがソースになってたような…。

OpenGL Profiler を使ってみた。

このツールには、OpenGLアプリケーションの内部でどんな処理が行われているか解析するための機能がついているようです。

OpenGL Profilerのメニューから file > newからOpen GLアプリケーション(.app)を 選択登録することで OpenGL Profiler上で Launch することができる(赤で囲んだボタンを押すとLaunch する)。グラフィックカードと、FPS と OpenGLのパラメータも解析可能。

Launch されたOpen GL アプリケーションを終了する場合は kill (赤で囲んだボタン)を押す。
Last modified 2005.06.25
Tsukubado