仰る通り DirectX 11 は DirectX 9 とは異なり定数バッファとなったので、関数 SetVSConstF などの
関数の代わりに定数バッファ関連の以下の関数を使用する必要があります
// シェーダー用定数バッファハンドルを初期化する
int CreateShaderConstantBuffer( int BufferSize ) ;
// シェーダー用定数バッファハンドルを削除する
int DeleteShaderConstantBuffer( int SConstBufHandle ) ;
// シェーダー用定数バッファハンドルの定数バッファのアドレスを取得する
void *GetBufferShaderConstantBuffer( int SConstBufHandle ) ;
// シェーダー用定数バッファハンドルの定数バッファへの変更を適用する
int UpdateShaderConstantBuffer( int SConstBufHandle ) ;
// シェーダー用定数バッファハンドルの定数バッファを指定のシェーダーの指定のスロットにセットする
// TargetShader に指定できる値は DX_SHADERTYPE_VERTEX 又は DX_SHADERTYPE_PIXEL です
int SetShaderConstantBuffer( int SConstBufHandle, int TargetShader /* DX_SHADERTYPE_VERTEX など */ , int Slot ) ;
流れとしては
1. シェーダーで使用する定数用の定数バッファを CreateShaderConstantBuffer で作成
〜〜メインループ〜〜
2. 必要に応じて定数バッファの中身を GetBufferShaderConstantBuffer と UpdateShaderConstantBuffer を使用して更新
3. シェーダーを使った描画の前に SetShaderConstantBuffer を使用して定数バッファレジスタに定数バッファをセット
〜〜〜〜〜〜〜〜〜〜
4. 不要になったら DeleteShaderConstantBuffer で定数バッファを削除
となります
Direct3D 11 でオリジナルシェーダーを使用して画像を描画するサンプルを作成してみましたので、
よろしければコードをご覧になってみてください m(_ _)m
https://dxlib.xsrv.jp/temp/ShaderSampleD3D11.zip