2010-12-30 4 views
3

PhotoshopのブレンドモードのいくつかのCコードを含む素晴らしいページがあります。私が望むのは、私のXNAアプリケーションでこれらのモードのいくつかを使うことです。特に、オーバーレイ、色相および彩度。 XNAのブレンド関数とブレンド列挙型だけで可能だと思うのですか、またはこれらのエフェクトのシェーダーを作成する必要がありますか?すべてのhttp://www.nathanm.com/photoshop-blending-math/XNAのフォトショップブレンドの数学

+0

私はHLSLで非常に経験豊富ではないんですが、多分あなたはhttp://gamedev.stackexchange.com/ – mauris

答えて

2

まず、here is a question that covers much of the same territory

はここでPhotoshopのブレンドモードの数学のためのリンクです。

現代のGPUのブレンドステージは、依然として非常に限られており、固定機能です。あなたはadd, subtract, max, minから選択するこれらの機能を持ち、a few multipliersを持っています。

使用したいブレンドモードはこのシステムでは実装できません。オーバーレイには、おそらく回避できない条件が必要です。色相と彩度は、HSV変換を必要とします。これは、まったく実行できません。

答えは、あなたが言うように、2つのテクスチャを入力として取り、カスタムブレンドモードを使用してそれらを結合するシェーダを作成することです。このエフェクトをシーン全体に適用したい場合は、シーンをシェーダへの入力として使用できるテクスチャにレンダリングするためにレンダーターゲットを使用することができます。

+0

よしでこの質問を試してみたい、情報をありがとう:)私は、シェーダアプローチをしようとします。 – muku