カスタムマテリアルの生成
gpusermat var,"vsh","fsh","defs",color,opt
var : 生成されたマテリアルIDが代入される変数名 "vsh" : バーテックスシェーダーファイル名 "fsh" : フラグメントシェーダーファイル名 "defs" : 追加のラベル定義 color(-1) : マテリアルカラー(24bitRGB値) opt(0) : マテリアルオプション値
(プラグイン / モジュール : hgimg4)
カスタムマテリアルを生成します。
カスタムマテリアルは、バーテックスシェーダー及びフラグメントシェーダーを指定した独自の描画を行ないます。
OpenGLのシェーダー言語(GLSL)で記述されたシェーダーファイル名を、"vsh"、"fsh"パラメーターに指定します。
"defs"パラメーターには、シェーダーコンパイル時に追加されるラベル定義を記述します。
colorパラメーターでデフォルトのカラーを設定することができます。省略した場合は、白色(0xffffff)が設定されます。
"vsh","fsh","defs"のパラメーターを省略した場合は、gpusershaderで設定された内容が設定されます。
optパラメーターにより、マテリアルの設定を変更することができます。
これらの設定は、gpmatstate命令で別途設定することも可能です。
マクロ名 内容
-------------------------------------------------------------------
GPOBJ_MATOPT_NOLIGHT ライティングを行なわない
GPOBJ_MATOPT_NOMIPMAP MIPMAPを生成しない
GPOBJ_MATOPT_NOCULL カリングを無効にする
GPOBJ_MATOPT_NOZTEST Zテストを無効にする
GPOBJ_MATOPT_NOZWRITE Zバッファ書き込みを無効にする
GPOBJ_MATOPT_BLENDADD プレンドモードを加算に設定する
正常にマテリアルが生成できなかった場合は、エラー3(パラメータの値が異常です)が発生します。
正しく生成された場合は、varで指定された変数にマテリアルID(整数値)が代入されます。
カスタムマテリアルにより、任意のシェーダーを使って描画のすべてをコントロールすることができるようになります。
これは、シェーダーについての知識がある上級者向けの拡張機能ですので、通常は使用する必要はありません。
カスタムマテリアルを生成した場合は、gpmatprm命令によってシェーダーパラメーターに渡すための値を設定することができます。
| gpmatprm | マテリアルのパラメーター設定 | (hgimg4) |
| gpcolormat | カラーマテリアルの生成 | (hgimg4) |
| gptexmat | テクスチャマテリアルの生成 | (hgimg4) |
| gpusershader | ユーザーシェーダーの指定 | (hgimg4) |
| プラグイン / モジュール | hgimg4 |
| バージョン | 3.5 |
| 作成日 | 2017/08/08 |
| 著作者 | onitama |
| URL | http://www.onionsoft.net/ |
| 備考 | hgimg4.asまたはhgimg4dx.asをインクルードすること。 |
| タイプ | 拡張命令 |
| グループ | 拡張画面制御命令 |
| 対応環境 |
|
| 移植のヒント | Windows+OpenGL3.1以降/DirectX9システム上で動作します。 |
| hs ファイル | hsphelp\hgimg4.hs |