Microsoft DirectX 8.0 (C++)

D3DVSD_CONST

頂点シェーダ定数メモリにデータをロードする。

D3DVSD_CONST( _ConstantAddress, _Count ) \
            (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_CONSTMEM) | \
            ((_Count) << D3DVSD_CONSTCOUNTSHIFT) | (_ConstantAddress))

パラメータ

_ConstantAddress
データの格納を開始する定数配列のアドレス。指定可能な値の範囲は、0 〜 95 である。
_Count
各データにつき 4 DWORD とそれに続いて 4*_Count DWORD をロードする定数ベクトルの数。「注意」を参照すること。

注意

次のサンプル コードは、このマクロの使い方を示している。

D3DVALUE diffuse[] = {1, 1, 1.0f/255.0f, 1};
        DWORD decl[] = 
        {
            D3DVSD_CONST(8, 1),
            *(DWORD*)&diffuse[0],
            *(DWORD*)&diffuse[1],
            *(DWORD*)&diffuse[2],
            *(DWORD*)&diffuse[3],
            D3DVSD_STREAM(0),
            D3DVSD_REG( 0, D3DVSDT_FLOAT3),
            D3DVSD_REG( 2, D3DVSDT_D3DCOLOR),
            D3DVSD_STREAM(1),
            D3DVSD_REG( 1, D3DVSDT_FLOAT1),
            D3DVSD_STREAM(2),
            D3DVSD_REG( 3, D3DVSDT_FLOAT2),
            D3DVSD_END()
        };

動作環境

  ヘッダー : D3d8types.h で宣言。

参照

IDirect3DDevice8::CreateVertexShader