mmviewer用GLSLシェーダの説明

mmviewer本家

mqoビューワであるmmviewerの隠し(?)機能、GLSL対応部分を使い尽くす為に、
mooonact"takanyan氏"と一緒にいくつかシェーダを書きました。
皆様の制作の一助とならんことを。

mmvの基本部分やサンプルファイルの解説等はntny氏のところの解説ページが
非常にわかりやすいとおもいますのでそちらを是非どうぞです。
ntny氏のなんちゃってmmv解説ページ

大前提として、GLSLはまだどんなVCでもサポートしているわけではないです。
geforce5200以上、ラデオン9000以上(9000は一部機能のみサポート)のビデオカードでないと動作しません。
よって、公開される場合は、標準的なシェーディングやコンスタントシェーダを割り当てたものを
同時に公開されることが望ましいと思います。


mmsの基本的な説明
必ず先にお読みください。



自分が制作したのは以下の5つ、

フォールオフシェーダ
光の明部と暗部で別のテクスチャを割り当て、シェーディングに依存しない
色を設定可能です。
また明暗の段階はグラデーションによって設定可能です。
バンプ、透明度やスペキュラーレベルもUVのグレー値でコントロール可能です。
toonつきのほうのアウトラインはhheavenさんの作られたものをそのまま使用してます。


フォールオフリフレクションシェーダ
明部と暗部で別のテクスチャを割り当てるフォールオフ効果にプラスして
環境マップにも対応するシェーダです。
環境マップはカメラの水平>垂直に位相してグラデーションで強弱をつけることが出来ます。
スペキュラーレベルのUV調整には対応していません。


フェイクマップシェーダ
球状のマップイメージをモデルの形状に引き伸ばすシェーダです。
ぱっと見絵っぽいですが、まわすとちょっと寂しいかも、でも何かに使えるかも。


漫画ハーフトーンシェーダ

影の部分を指定のグレーの繰り返しで処理します。
漫画の網点のような効果に、
サンプルはドット状のマップを使っています。


nonAA-shader
アンチエイリアスOFFのような効果を出します。
ピクセル露出最高な人向け。



参考書籍
GLSLとは関係ないけど面白かった。
GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics
日本語版もあるけどなぜか倍以上、、


直リンクOKページです。