SetVSConstFArray

頂点シェーダーの FLOAT4 型定数に行列を設定する

SetVSConstFArray ConstantIndex, param, ParamArray, ParamNum

int ConstantIndex : 変更する FLOAT4型定数の番号( 0~255 )
FLOAT4 *ParamArray : FLOAT4型配列の先頭アドレス
int ParamNum : 設定する数

(プラグイン / モジュール : DxLibW)

解説

( この関数は Direct3D 9 用の関数です、Direct3D 11 では効果がありませんので注意してください )

SetVSConstF は FLOAT4型の構造体一つ分を頂点シェーダーの FLOAT4型定数として設定する関数でしたが、
この関数は FLOAT4型定数を指定数分だけ一度に設定することができます。

例えば

FLOAT4 f4array[ 3 ] ;

f4array[ 0 ].x = 100.0f ;

f4array[ 0 ].y = 65.0f ;

f4array[ 0 ].z = 19.0f ;

f4array[ 0 ].w = 888.0f ;

f4array[ 1 ].x = 296.0f ;

f4array[ 1 ].y = 879.0f ;

f4array[ 1 ].z = 1111.0f ;

f4array[ 1 ].w = 6.0f ;

f4array[ 2 ].x = 769910.0f ;

f4array[ 2 ].y = 4023.0f ;

f4array[ 2 ].z = 61.0f ;

f4array[ 2 ].w = 735.0f ;

SetVSConstFArray( 10, f4array, 3 ) ;

は、

FLOAT4 f4array[ 3 ] ;

f4array[ 0 ].x = 100.0f ;

f4array[ 0 ].y = 65.0f ;

f4array[ 0 ].z = 19.0f ;

f4array[ 0 ].w = 888.0f ;

f4array[ 1 ].x = 296.0f ;

f4array[ 1 ].y = 879.0f ;

f4array[ 1 ].z = 1111.0f ;

f4array[ 1 ].w = 6.0f ;

f4array[ 2 ].x = 769910.0f ;

f4array[ 2 ].y = 4023.0f ;

f4array[ 2 ].z = 61.0f ;

f4array[ 2 ].w = 735.0f ;

SetVSConstF( 10, f4array[ 0 ] ) ;

SetVSConstF( 11, f4array[ 1 ] ) ;

SetVSConstF( 12, f4array[ 2 ] ) ;

と同じ動作をします。

なんでこんな関数があるのかといいますと、単純に何回も SetVSConstF を呼ぶのが面倒だからという理由以外に何回も SetVSConstF を呼ぶのは処理負荷が高いからです。

尚、この関数で値を設定した場合は、DrawGraph 等の描画関数を使用する前に ResetVSConstF 関数で設定した値を無効にする必要がありますので注意してください。

戻り値:
  0:成功

情報

プラグイン / モジュールDxLibW
バージョン3.24f
作成日2026/04/12
著作者DxLib: Takumi Yamada / HSP binding: IronHSP Project
URLhttps://dxlib.xsrv.jp/
備考hspdxlib.as をインクルードして使用
タイプDxLib ゲームライブラリ
グループDxLib その他
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspdxlib.hs