カスタムマテリアルの生成
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 プレンドモードを加算に設定する GPOBJ_MATOPT_SPECULAR 光源計算時にスペキュラーを適用します GPOBJ_MATOPT_MIRROR 反転した画像として表示する GPOBJ_MATOPT_CUBEMAP キューブマップとして設定する GPOBJ_MATOPT_NODISCARD αチャンネルによるピクセル破棄を無効にする 正常にマテリアルが生成できなかった場合は、エラー3(パラメータの値が異常です)が発生します。 正しく生成された場合は、varで指定された変数にマテリアルID(整数値)が代入されます。 カスタムマテリアルにより、任意のシェーダーを使って描画のすべてをコントロールすることができるようになります。 これは、シェーダーについての知識がある上級者向けの拡張機能ですので、通常は使用する必要はありません。 カスタムマテリアルを生成した場合は、gpmatprm命令によってシェーダーパラメーターに渡すための値を設定することができます。
gpmatprm | マテリアルのパラメーター設定 | (hgimg4) |
gpcolormat | カラーマテリアルの生成 | (hgimg4) |
gptexmat | テクスチャマテリアルの生成 | (hgimg4) |
gpusershader | ユーザーシェーダーの指定 | (hgimg4) |
gpscrmat | オフスクリーンテクスチャマテリアルの生成 | (hgimg4) |
プラグイン / モジュール | hgimg4 |
バージョン | 3.6 |
作成日 | 2021/01/06 |
著作者 | onitama |
URL | http://www.onionsoft.net/ |
備考 | hgimg4.asまたはhgimg4dx.asをインクルードすること。 |
タイプ | 拡張命令 |
グループ | 拡張画面制御命令 |
対応環境 |
|
移植のヒント | Windows+OpenGL3.1以降/DirectX9システム上で動作します。 |
hs ファイル | hsphelp\hgimg4.hs |