カラー画像をグレースケールで描画する方法は
1.LoadSoftImage でソフトウエア画像として読み込み画像をグレースケールに
変換してから CreateGraphFromSoftImage でグラフィックハンドルを作成して描画する
2.RGBカラーをグレースケールカラーに変換するピクセルシェーダーを用意して描画する
の2種類があります
事前準備の処理なしでグレースケールで描画したいということでしたら
2のピクセルシェーダーを使うのがベストの方法ですが、この方法を採用した場合
ピクセルシェーダー2.0に対応したGPUが無い環境では実行することができなくなります
( 1.0 でも大丈夫なのですが、DXライブラリの都合で 2.0 である必要があります )
1の方法はゲームを実行する前、画像を読み込む際にグレースケール画像を作成して、
ゲーム実行時に使います
ピクセルシェーダー2.0に対応しているGPUがなくても実行できますが、
すきなときにすきな画像をグレースケールで描画することができないので
もしすべての画像がグレースケールで描画する可能性がある場合はすべての画像について
グレースケール画像をゲーム実行前に作成しておく必要があります
というわけで、どちらも一長一短となっているので、どちらの方法が
ベストかは状況によります