JavaのPorter-Duff合成規則(CLEAR、SRC、SRCOVERなど)を実装するために、Direct3Dのレンダリング状態を使用する必要があるのは何ですか?Direct3DでのPorter-Duff規則の実装
答えて
私はJavaをあまり使っていませんが、white paper from 1984に基づいて、レンダリング状態のブレンドモードをかなり簡単にマッピングする必要があります。
通常のアルファブレンディング(SourceAlpha、InvSourceAlpha)、またはいくつかの例を挙げてみましょう(1つ、1つ)のように、これ以上のことはもちろんありません。
はとにかく、これらは追加のBlendOperationを想定し、AlphaBlendEnableがあることを(私は...あなたには、いくつかの既存の機能を移植しているので、あなたがその原因ではあなたが他の組み合わせを気にしないかもしれません?特にこれらについて尋ねていると仮定します)本当。
クリア
SourceBlend = Zero
DestinationBlend = Zero
B上
SourceBlend = One
DestinationBlend = Zero
B
SourceBlend = Zero
DestinationBlend = One
A
SourceBlend = One
DestinationBlend = InvSourceAlpha
BにおけるB
SourceBlend = InvDestinationAlpha
DestinationBlend = One
オーバーA
0アウト
SourceBlend = Zero
DestinationBlend = SourceAlpha
AアウトB
SourceBlend = InvDestinationAlpha
DestinationBlend = Zero
Bにおける
SourceBlend = DestinationAlpha
DestinationBlend = One
B
A B頂上
SourceBlend = DestinationAlpha
DestinationBlend = InvSourceAlpha
B
SourceBlend = InvDestinationAlpha
DestinationBlend = SourceAlpha
のXOR Bの上、これらはもう少し複雑で、複数のパスまたは複数のテクスチャのいずれかを必要とする連鎖
SourceBlend = InvDestinationAlpha
DestinationBlend = InvSourceAlpha
シェーダーへの入力。
"A"のレンダリングステート(ソースピクセルの色/アルファをペイントし、デスティネーションピクセルの色/アルファを無視する)を実装すると、Direct3Dはソースにアルファゼロの値。ターゲット領域に透明度を塗りつぶす代わりに、ターゲット領域が変更されていないことがわかります。しかし、ソースアルファ値を1に変更すると、ターゲット領域が「実質的に」透明になります。これはアルファブレンディングレンダリング状態を無効にしても起こるので、これは実際にはDirect3Dのバグである最適化の試行であると推測します。
この状況を除いて、Coreyのレンダリング状態は正しいと思われます。ありがとう、コーリー!それは、(AlphaFunction =グレーターとReferenceAlpha = 0のようなものと一緒に)上にある場合
一つは、チェック
AlphaTestEnable = false
で確認してくださいアルファテストがオフであることを確認するために、明確なピクセルは、にかかわらず、捨てることができAlphaBlendEnable設定。
"A in B"の場合、DestinationBlendを0にしないでください。
BにおけるA
SourceBlend = DestinationAlpha
DestinationBlend = Zero
- 1. ジェネリックと規則の規則の規則
- 2. チェスのビショップのための規則の実装
- 3. MATLAB:getPositionの不規則な振る舞いを実装する
- 4. iOS:drawRect:draggableオブジェクトを実装する際の標準規則
- 5. のDirect3D 9でのDirect3D 9
- 6. は特殊関数の簡略化規則を実装しています
- 7. LINQを使用してNullable値の並べ替え規則を実装する
- 8. Common Lispでのマクロ展開の規則を規定している規則
- 9. Scala関数のパラメータセットの規則の規則と習慣
- 10. Clojureのスコープ規則
- 11. コンストラクタのアクセス規則
- 12. SVNコミットの規則
- 13. カスタムソナーコーディング規則のXPath
- 14. Javaのスコープ規則
- 15. PEP8のインポート規則
- 16. フィールド名の規則
- 17. ポリマーダーツパッケージのレイアウト規則?
- 18. HTMLコメントの規則
- 19. Java MVCパターンの変数宣言の規則/規則?
- 20. Pythonでの正規表現の実装
- 21. Androidカラーオーバレイ - PorterDuffモード
- 22. PorterDuffとPath
- 23. F#推論規則としての入力規則
- 24. 不規則な規則で言語に翻訳する
- 25. 命名規則
- 26. 命名規則
- 27. ドキュメント名規則
- 28. SSLのHaproxy aclの規則
- 29. ブートストラップの列の規則
- 30. 正規表現bashの不規則性