GLSL Tester ver 1.02



OpenGLでシェーダーを用いて表示をするときに、予め簡単にシェーダーを使ったテストを行えるツールが欲しいなと思って開発したものです。

球、板、wavefront object形式で読み込んだ形状を、シェーダーを咬ませて表示を行います。

Release Note

2014/09/20 ver 1.00 公開
2014/09/23 ver 1.02 公開 エディタを少し強化。Cullingの設定。ctrl押しながら操作。

Download

GLSLTesterWin100.zip
GLSLTesterWin102.zip

Manulal


3つのテキスト編集ウィンドウで、それぞれ 頂点シェーダ、ジオメトリシェーダ、フラグメントシェーダを編集します。
それぞれのシェーダに対して新規作成、読み込み、保存のアイコンが使えます。

また、画面上部のメインのリボン部分で新規作成、読み込み、保存を行うと、3つのシェーダを同時に読み込みや保存を行います。
(ファイル名は、Shader.vert, Shader.geom, shader.frag のように同一にしておきます)

ジオメトリシェーダは、必要ない場合も多いのですが、ファイルがない、もしくは空テキストの時はスキップして頂点シェーダとフラグメントシェーダのみを実行します。


マウス操作

メインの画面のマウス操作は以下となっています。

マウス左ボタン
中ボタン、もしくはCtrl+Alt+左ボタンズーム
Ctrl+左ボタン旋回を維持

リボン



Sボタンでシェーダーの有効、無効を変更します。
また、シェーダーのコンパイルは、リフレッシュボタンを押たびに行われるので、テキスト編集後にはリフレッシュボタンを押してください。

テクスチャは、2種類まで読み込みができます。市松模様のアイコンでテクスチャの有効、無効を変更できます。

オブジェクトは、球、立方体、板のどれか、及びにwavefront object形式の読み込みを行えます。

シェーダーに送られる変数など

マルチテクスチャを使って2枚までのテクスチャ情報を送ることができます。
また、任意の変数を2つまで送ることができます。

sampler2D textureImage0テクスチャ0
sampler2D textureImage1テクスチャ1
int lightNumberライトの数。現バージョンでは常に1です。
int textureModeテクスチャが無効 = 0、有効 = 1 になります。
float parameter0任意のfloatを渡すパラメータです。
float parameter1任意のfloatを渡すパラメータです。

Samples

いくつかのスクリプトのサンプルが GL フォルダ内に入っています。

GouraudBasic.[vert, geom, frag]

色を頂点ごとに決定して補間します。ポリゴンの境目が出やすい方法で、デフォルトのOpenGLレンダリングに近いものです。

PhongBasic.[vert, geom, frag]

色をピクセルごとに決定します。

CartoonBasic.[vert, geom, frag]

色の決定を閾値をもとに行って、イラスト的表現にする手法です。
inserted by FC2 system