問題タブ [blending]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
658 参照

opengl - OpenGlブレンディング:同一の透明なオブジェクト

私はOpenGLプロジェクトに参加しています。

同じ透明な素材(たとえば、アルファ= 0.2)で作られたオブジェクト(たとえば2)がいくつかあります。2つのオブジェクトが交差します。

交差部分を他の部分と同じように(境界線なしで、異なる色なしで)表示して、オブジェクトも1つのように見えるようにするにはどうすればよいですか?

0 投票する
1 に答える
872 参照

c# - Direct3D アルファ ブレンディングの方法

平行六面体ブレンド コンテナー内にいくつかの 3D オブジェクトを表示しようとしています。得られた結果は不十分です。

最初の図は正しいようです https://picasaweb.google.com/lh/photo/QabTkrf2zyIMP0UEuZvmTdMTjNZETYmyPJy0liipFm0?feat=directlink

そして2番目は間違ってい ます https://picasaweb.google.com/lh/photo/JqnZqeTuomNLqDR5vhizadMTjNZETYmyPJy0liipFm0?feat=directlink

C# でマネージド directx を使用しています

初期化:

レンダリング関数では、最初のステップはオブジェクト内の描画であり、2 番目のステップはブレンド ボーダーの描画です。

2 番目に描画する前に、cullmode を CounterClockwise から None に切り替えます

回転

示された問題をどのように打ち負かすことができますか?

0 投票する
1 に答える
383 参照

iphone - OpneGL ES 2.0 のアース デイ/ナイト サイド シェーダー

地球をモデル化する iPhone アプリケーションがあります。現実的にしたいのですが、球体オブジェクトと、Nightside と Dayside のテクスチャとシェーダーがありますが、機能しません!

My Sphere オブジェクトの draw メソッド:

私のViewController呼び出し方法:

ブレンドモード: 0: glBlendFunc(GL_SRC_COLOR, GL_DST_COLOR); 1: glBlendFunc(GL_ONE, GL_CONSTANT_COLOR); //定数は中間の青です。少し明るくするためです

ナイトサイド フラグメントシェーダー:

DaySide フラグメントシェーダー:

シェーダーの 1 つだけを使用すると、うまくいくように見えますが、一緒には機能しません。

0 投票する
1 に答える
2213 参照

opengl - ブレンドとアルファ テストを使用した 2 つのテクスチャのレンダリング

私が探しているのは次のとおりです...正方形の画像に円があり、コーナーのアルファは0です

http://dl.dropbox.com/u/1401029/circle.png

また、正方形の影、アルファは他の場所では 0 です

http://dl.dropbox.com/u/1401029/image.png

最終結果として、これら 2 つのレンダーをブレンドし、円の外側に影がレンダリングされないようにしたいと思います。

どうすればそれを達成できますか?:)

編集:これはこれまでの私のコードです(t2サークル、t1シャドウ)

しかし、これまでのところ機能していません。影が円に完全にレンダリングされます。どこが間違っていますか?

0 投票する
1 に答える
1860 参照

opengl - GLSL シェーダー: ブレンド、プリミティブ固有の動作、および頂点の破棄

基準: OpenGL とシェーダー (GLSL) を使用しており、最新の手法を維持しようとしています (たとえば、非推奨の概念から離れようとしています)。

非常に一般的な意味での私の質問は次のとおりです。詳細については以下を参照してください。

  1. シェーダーでは、GL_BLEND の使用時に見られる z オーダーの透明度の問題を解消するのに役立つカスタム ブレンディングを行うことができますか?
  2. ある種のフラグを「手動で」渡すことなく、描画されているプリミティブのタイプをシェーダーが知る方法はありますか?
  3. シェーダーが頂点を「無視」または「破棄」する方法はありますか (特にポイントを描画する場合)?

背景: 私のアプリケーションは、オルソ投影で線で接続された点を描画します (頂点は投影でさまざまな深さを持ちます)。プロジェクトでシェーダーを使い始めたのはつい最近のことです (非推奨の概念から離れようとしています)。標準的なブレンディングには、アルファ テストと深度テストの順序付けの問題があることを理解しています。基本的に、高い z レベルの「半透明」ピクセルが最初に描画される場合 (したがって、低い z レベルでそのピクセルに既に描画されている色とブレンドします)、次に、不透明なオブジェクトがそのピクセルで描画されますが、より低い z レベルでは深度テストにより、「より高い」z レベルで既に描画されているピクセルを変更できないため、ブレンドの問題が発生します。これを克服するには、最初に不透明なアイテムを描画し、次に半透明のアイテムを z の昇順で描画する必要があります。

さらに、速度と利便性のために、各頂点の情報を (いくつかの均一な変数と共に) シェーダーに渡し、シェーダーはその情報を使用して、特別な注意が必要な頂点のサブセットを見つけます。アプリ自体で同様の一連のロジックを実行しないと (そして動作が遅くなる)、アプリオリにそれが vericies のどのサブセットであるかを知ることはできません。したがって、すべての頂点をシェーダーに送信します。ただし、「ポイント」を描画するときは、シェーダーが決定するサブセットにないすべての頂点をシェーダーに無視させたいと思います。アルファをゼロに設定し、GL コンテキストでアルファ関数を使用して、たとえば 0.01 未満のアルファで何も描画しないようにすることで、効果を得ることができると思います。ただし、シェーダーが「この頂点を無視するだけ」と言うためのより良い、またはより「正しい」gsl 方法はありますか?

0 投票する
0 に答える
351 参照

opengl - アルファ テストを使用してテクスチャをレンダリングし、色と背後のシーンとブレンドする

この画像をレンダリングしたい (白地にアルファ = 0)

ここに画像の説明を入力

正方形 (実際にはクアッド ストリップですが、問題ではないと思います) でそれを色とブレンドする場合、ブレンドはサーフェス全体で実行する必要があります。これは、テクスチャのアルファがゼロに等しい場所でもあります。

次に、シーンをオンにして結果をブレンドする必要があります

どうすればそれを達成できますか?

ブレンド関数のように、明らかにすべてのコードが必要ではなく、重要な部分だけが必要です(私はそう思います)

0 投票する
1 に答える
971 参照

c++ - 背景と OpenGL の 3 つのレイヤーをブレンドする

次の効果を達成するための glBlendfunc() パラメータは何でしょうか。

0) 背景、非透明。

1) first_layer、1 色のみ。

2) first_layer とブレンドされますが、背景とはブレンドされない半透明の球体...

編集

以下は、私が達成しようとしていることを示すレンダリングです。

これはオリジナルです - 背景の上に球体

これは望ましい効果です - 球と背景の間の緑の色と球は色とブレンドされますが、背景はブレンドされません

0 投票する
1 に答える
278 参照

ios - OpenGLES2 と MultiSampling がオンになっている iOS 4.3.3 で奇妙なアルファ ブレンディング バグを経験した人はいますか?

OpenGLES2 を使用して iOS 4.3.3 でマルチサンプリング サポートを有効にしましたが、レンダリング結果はひどいもので、あたかも色が ARGB8888 ではなく RGB565 であるかのようです。

問題は、マルチサンプリングをオフにするか、同じ ipa を iOS 5 デバイスにデプロイすることです (これは、マルチサンプリングを正しくオンにしたことを示しています)。ただし、マルチサンプリングをオフにすると非常に見苦しくなります (これもマルチサンプルがほとんどの場合に機能したことを示します)。

テスト ケースは非常に単純です。オルソ プロジェクション モードでテクスチャがアタッチされたクワッドをレンダリングするだけです。テクスチャのカラー フォーマットは RGBA8888 です。

誰もが以前に同じ問題に遭遇したことがありますか? これは Apple SDK のバグですか?

ところで、私が使用したSDKはXcode 4.3.2に同梱されているもので、ios展開ターゲットは4.0に設定されています

0 投票する
1 に答える
4955 参照

html - WebGLでのHTML背景とのブレンド

フラットな色とテクスチャをWebGLキャンバスに描画しています。私の色とテクスチャにはさまざまなアルファ値があり、正しくブレンドする必要があります。背景を透明にしたい(キャンバスの下にあるHTMLコンテンツとブレンドする必要があります)。

WebGLでは、

HTMLの背景が黒の場合、正しく機能します。しかし、JPGパターンを背景として設定すると、黒い三角形(alpha = 1)と白い三角形(alpha = 0.5)を描画すると、三角形が交差する場所に背景パターンが表示されます。これは正しい動作ですか?

0 投票する
2 に答える
1955 参照

ios - OpenGL でのスムーズなカラー ブレンディング

ある頂点のテクスチャが別の頂点とマージするときに、次のブレンドを実現しようとしています。

FiftyThree が Paper iPad アプリで描いた画像

これが私が現在持っているものです:

ここに画像の説明を入力

ブレンディングを有効にして、ブレンディング機能を次のように指定しています。

紙のアプリで描かれた画像は、小さな円で構成されており、前後で同じテクスチャと融合し、色とアルファにブレンド効果があることがわかります。

どうすれば目的の効果を達成できますか?

アップデート:

私が考えているのは、2 つのテクスチャの交差領域でアルファ チャネルが変更されている (加算またはその他のカスタム関数のいずれか) 一方で、テクスチャが交差領域に描画されていないということです。領域の残りの部分には、残りのテクスチャが描画されます。そのようです:

ここに画像の説明を入力

ただし、この結果を達成する方法は完全にはわかりません。