問題タブ [alphablending]

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 投票する
4 に答える
2697 参照

opengl-es - iPhone OpenGL ES:2Dゲーム用の透明なピクセルを持つテクスチャに深度テストを適用する

現在、2Dゲームのブレンドと深度テストをオンにしています。テクスチャを描画するとき、「上部」テクスチャは、下部テクスチャが交差する場合、それらの一部を削除します。明らかに、テクスチャの透明なピクセルは深度テストで考慮され、交差する場合は、描画された下部テクスチャのすべての色がクリアされます。さらに、アルファブレンディングが正しくレンダリングされません。深度テストに透明ピクセルを含めないようにOpenGLに指示できる関数はありますか?

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

iphone - 複数のフルスクリーン透明 iPhone OpenGL ES レイヤーの描画を最適化するにはどうすればよいですか?

iPhone OpenGL ES アプリを最適化しようとしています。これは、GLSprite および GLPaint サンプル アプリに基づいています。EAGLView を基本クラスに分解し、それを 3 つの異なる OpenGL ビューでサブクラス化して、3 つの透明なレイヤーを作成しています。3 つの EAGLView のディスプレイの親は UIView であり、その UIView は UIWindow の子です。これを60fpsにできるだけ近づけようとしています。iPhone は 60 fps で 50 の透明レイヤーを描画できるとこのサイトで他の人が言っているのを聞いたので、それは励みになります...

私がやっていることは次のとおりです。

1) GLPaint と同じポイント スプライト ベースの関数 (renderLineFromPoint:toPoint:) を使用して、最大 9 つのテクスチャ ラインをレイヤー #1 に描画します。これに使用されるテクスチャは 64x64 で、中央に 40x40 の円があり、残りは透明です。

2) レイヤー #2 に同じ機能とテクスチャを使用して単一の線を描画します。

3) 128x128 テクスチャの 9 つのインスタンス (80x80 中心の円で残りは透明) をレイヤー #3 に描画します。このレイヤーが一番上です。

レイヤー #1 と #3 はめったに変更されず、レイヤー #2 は touchesMoved: が呼び出されるたびに変更されます (全画面を消去し、1 行を再描画します)。

もともと、サンプルのように、単一の EAGLView でこれを実行しようとしました... 基本的に、3 つのレイヤーすべてのコンテンツを順番に描画します。しかし、これは遅すぎました。線画を追加する前(レイヤー1とレイヤー2)は良かったのですが、残念ながら1回のtouchedMovedごとに10本の線を描画すると、フレームレートが半分になりました。そこで、それらをレイヤーに分割して最適化しようとしました...必要な場合にのみ各レイヤーを1回描画します。(指の動きごとにレイヤー2を描画)。これはまだ十分に高速ではありません。透明度が高いためだと思います (各レイヤーが透けて見える必要があり、すべてのテクスチャ描画もブレンドする必要があります)。

私はたくさんの描画をしているとは思いません... 9 つの半透明の四角形と数本の線がたくさんありますか?

それで、私はここで運命づけられていますか?これほどの透過性を使用すると、パフォーマンスが低下しますか? または、私が見逃しているものがあります...どんな助けも大歓迎です!

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

python - Pygamealphaをオフにします

作業中のコンピューターゲームがあり、速度を上げるためにアルファ合成をオフにするオプションをユーザーに提供したいと考えています。Pygameには、どこでもチェックを行うのではなく、set_alphaなどへのすべての呼び出しを無視するように「alphaを使用しないでください」と言うグローバルオプションがありますか?

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

c# - C#を使用してWindows Mobileに単純な半透明のPNGをロードする

Windows Mobile プログラミングは初めてです。アルファ チャンネルを持つ PNG ファイルを読み込みたいです。インターネットで 2 日間検索した後も、私はまだ広場 1 にいます。誰か助けてもらえますか? ラッパーを使用して AlphaBlend API にアクセスする例を入手しました。しかし、BlendingFunction で AC_SRC_ALPHA フラグを設定すると、何も描画されません。

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

cocoa - NSImage のアルファチャンネルをクリアする

これは、1 ピクセルあたり 32 ビットの一時ビットマップを malloc してから、for ループでアルファ コンポーネントをクリアし、最後に再び NSImage に戻すことで実行できます。

NSColor とNSCompositingOperationの巧妙な組み合わせを使用して、より簡単な方法で実行できると思います。あるいは、drawAtPoint を使用して画像をそれ自体と合成する必要があるかもしれません。

私のコードは次のようになります。

注: アルファ チャネルを 1 に設定するには、NSCompositePlusLighter で blackColor を使用します。

アルファチャンネルクリアの秘密とは?

0 投票する
4 に答える
7123 参照

c++ - 「乗算」ブレンディング モードとアルファを使用した Direct3D レンダリング 2D イメージ

Photoshop フィルター乗算を Direct3D で複製しようとしています。私はさまざまなレンダリング状態について読んでグーグルで調べてきましたが、効果はほとんど機能しています。問題は、テクスチャのアルファ値を無視していることです。

状況を説明する画像は次のとおりです。

http://www.kloonigames.com/petri/stackoverflow_doesnt_allow_.jpg

これに対する 1 つの解決策を見つけました。それは、画像を透明度なしで白い背景で保存することでした。しかし、私はこの解決策に満足していません。問題は、本当にアルファ値を使用する必要があることです。画像を徐々にフェードアウトさせたい。ブレンドモードがアルファ値を無視している場合、これを行うことはできません。

問題は、画像をアルファでレンダリングする方法です。

ブレンドモードのコードは次のとおりです。

編集により SetTextureStageState が追加されました

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

delphi - TWinControlの不透明度?

TWinControlベースのコントロールの不透明度をどのように変更できますか?そして、なぜ彼らはこの機能をTControl / TWinControlレベルに追加しなかったのですか(なぜTFormのみ)?

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

iphone - 同じコンテナ内のサブビューの異なるアルファ

Can you override a parent UIView's alpha value on one of its subviews? に似た質問があります。

場合によっては、現在のビューの上にカスタムの半透明のフルスクリーン オーバーレイ ビューを表示したいことがあります。トリックは、上部にカスタム ナビゲーション バーとその他のコンテンツ (ラベルにする) を配置し、ナビゲーション バーを不透明にすることです。つまり、元のビューのすべてをペイントします。同時に、他のすべてのコンテンツを半透明にしたいと考えています。ナビゲーション バーがまったくない可能性があるため、メイン ビューのナビゲーション バーに干渉したくありません。ナビゲーション バーとその他すべてのコンテンツを含む単一のコンテナー ビューを作成し、それをウィンドウに追加したいと思います。しかし、コンテナ、ナビゲーションバー、およびコンテンツの背景色とアルファの組み合わせはどれも機能していないようです。

私が見つけた質問は、コンテナ ビューが不透明でない場合は不可能であることを示唆しています。透明部分と不透明部分の間に単純な境界線があるため、私の場合は少し異なる場合があります。だから私はまだいくつかの簡単な方法があることを願っています. それとも、不透明なナビゲーション バーと透明なコンテンツ ビューを別々に管理する必要がありますか?

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

gdi+ - GDI+のブレンドフォーミュラ

色Bを使用して色Cに変換したい色Aがあります。したがって、GDI +の混合式Fを知りたいのですが、ここでF = F(A、B)=Cです。Aは「下の色」とBは、Aの上のオーバーレイ色であり、Aと一緒にCを生成します。

乾杯、

//マグナス

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

opengl - ブレンディングの問題(OpenGL)

質問があります、多分誰かが私を助けることができます。OpenGLを使用してミラー効果を作成しようとしています。透明な平面、ステンシルでカットされた「反射」シーン、そしてオリジナルの平面を描きます。しかし、私は鏡の代わりに完全に不透明な「壁」を持っています。(ステンシルバッファを取得するための)最初のミラープレーンレンダリングが原因で発生することはわかっています。しかし、私はこれをどうするかわかりません:(コードは次のとおりです: