トップページ > 過去ログ > 記事閲覧
グレースケールにする
名前:コーラ 日時: 2011/06/11 06:55

カラー画像を読み込み、グレースケールで描画したいのですが、どのような方法があるでしょうか? どうやらシェーダーを使えばいけるようですが、それがベストの方法、ということであっていますか?

Page: 1 |

Re: グレースケールにする ( No.1 )
名前:管理人 日時:2011/06/19 03:48

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

返答ありがとうございます。 対応していればシェーダーを使う方が、簡単で汎用性がありそうですね。 挑戦してみることにします。

Page: 1 |