2012年3月21日水曜日

glslDevil

フリーのGLSL用デバッガglslDevilを触ってみた。
シェーダに関わらずgl系列の命令に対するデバッグも可能。
で、肝心のシェーダデバッグではあるが・・・nVidiaのG80ベース(8000系)以上でないと
デバッグができないと記載されている。
GT-7800ユーザとしては・・・。

純粋なデバッグツールとしてはこれ以外は話にならなさそうなんだけどなぁ。

どうもシェーダの動作が安定しないというか挙動不審な時が多々ある。
いわゆるバグではなくGLSLの最適化の都合によるものいう節が多々。
似たようなものをHLSLで動かしても問題ないのになぁ。

[追記]
挙動不審な理由が判明した。
シチュエーションは入力に位置、法線、色を送っている場合を仮定。
シェーダ内部で漏れなく位置、法線、色を利用しなくてはいけない。
多分、最終結果に影響させないとお茶を濁すだけでもダメそうな予感。
デバッグ用に例えば色をシェーダ内部で定数値に置き換えた場合(入力を利用しない)、
シェーダ全体の動作が狂う。 
あとは、繰り返し文の内部での分岐とか配列アクセスとかエラーではなくリンクエラーが
返ってきたり・・・イカれた風変わりなシェーダですね。

0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。