問題タブ [compositing]

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 に答える
1527 参照

direct3d - Direct3D で Porter-Duff ルールを実装する

Java の Porter-Duff 合成ルール (CLEAR、SRC、SRCOVER など) を実装するには、どの Direct3D レンダリング ステートを使用する必要がありますか?

0 投票する
5 に答える
44283 参照

java - JavaでBufferedImageアルファマスクを設定する

pngからロードしたBufferedImagesが2つあります。1つ目は画像を含み、2つ目は画像のアルファマスクです。

アルファマスクを適用して、2つから組み合わせた画像を作成したいと思います。私のgoogle-fuは私に失敗します。

画像をロード/保存する方法を知っています。2つのBufferedImagesから正しいアルファチャネルを持つ1つのBufferedImageに移動するビットが必要です。

0 投票する
3 に答える
443 参照

php - サウンドを自動的に合成する - php など - サウンド用の GD ライブラリ?

次のことを達成する方法を探しています: ユーザーがいくつかのドラム ループをフラッシュでプログラムし、何らかの方法でループの mp3 をダウンロードまたは保存できます。

パターンはサーバー側でコンポストできると考えました。次に、ファイルへのリンクがユーザーに送信されます。

サウンド用の imageGD や imageMagick のようなものがあるかもしれないと思っていましたか?

また、フラッシュがユーザーがその場で保存できるものを生成できる場合は? それも機能しますが、フラッシュでそのような機能を認識していません。

処理で何かができると思いますが、私はそれについてまったく慣れていません。

この種のことはどのように達成されるのでしょうか?

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

iphone - 最小限のdrawRectで空のUIView:オーバーヘッド

機械的に重要な3つのネストされたビューがありますが、視覚的な要素がないアプリケーションがあります。

  • 独自のコンテンツを持たず、単にCALayersのホストとして使用されるバニラUIView。
  • UIScrollView(原点が照会され、CALayersを3Dに配置するために使用されます。実際には、このビューを使用して、スクロールビューの「メカニズム」を忠実に複製します)、
  • スクロールビューの内容:UIViewサブクラス。タッチイベントを取得してデリゲートに渡すだけです。重要なのはUIResponder機構だけです。

CALayersをホストするUIViewは、CALayersが描画される背景画像であるUIImageViewの兄弟です。

これらの空のUIViewのいずれにも、描画または合成のオーバーヘッド(時間またはストレージ)が関連付けられていないことを確認するか、それが不可能な場合は、このオーバーヘッドをできるだけ小さくして理解したいと思います。別のアプローチを試すべきかどうかを決めることができるかもしれません。

Interface Builderでは、描画する前にコンテキストをクリアしないようにすべてのビューを設定しました。ただし、これらは完全に不透明ではないため、不透明に設定していません。完全に透明です。スクロールビューのコンテンツに透明なクリアカラーを指定する必要があることがわかりました(これもIBで、背景色の不透明度をゼロに設定することで)。これは、描画されていることを示していますが、これは望ましくありません。

つまり、何が描画され、何が描画されないのか(iPhone/シミュレーター用のQuartzDebugのようなツールを知っている人はいますか?)、または描画されないようにする方法についてはあまりわかりません。

アドバイスは大歓迎です!ありがとう、ベンジョン

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

iphone - iPhone クォーツ。ビットマップではなくパスを使用してマットを作成するにはどうすればよいですか?

私が書いている視覚化アプリでは、パスで作成されたマットを使用してグラフィックを形作りたいと考えています。グラフィックは、さまざまな形状が描かれた水平の長方形のストリップです。この長方形のストリップの上に、長方形のストリップを形成するマットとして機能する楕円を描画して、楕円内に描画されているように見せたいと思います。どうすればいいですか?

この単純化された例では、さまざまなブレンド モードを使用してその上に楕円を描画することで、背景の青い四角形を青い楕円として表示しようとしていますが、失敗しています。

ありがとう、ダグ

更新: 解決策 簡単に言うと: クリッピング パス。ドゥー!次のコード スニペットは、私が求めている効果を作成します。これは、赤い背景に対する青い楕円です。青い楕円は、青い四角形を楕円の形状に拘束することによって作成されることに注意してください。これが必要です。涼しい。

これが他の誰かに役立つことを願っています。クリッピング パスは非常に強力です。乾杯。

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

linux - X11 と ARGB ビジュアル: DefaultDepth() は 32 を返さないのですか?

次のように X サーバーへの接続を確立しています。

なぜ「深さ」が常に 24 に設定されているのか疑問に思っています。合成をオフにすると 24 しかないと思いますが、実際には、合成をオンにしても 24 のままです。したがって、32 ビットの ARGB ビジュアルを取得するには、最初に深度を明示的に 32 に設定して XGetVisualInfo() を呼び出す必要があります。

ここで私の質問に: DefaultDepth() は一般に 24 を超えることはありませんか、それとも私のシステムだけですか? (私のグラフィックボードはやや古いです...)。CLUT ディスプレイの場合は 15、16、または 8 を返す可能性があることはわかっていますが、32 を返すことはできますか? それとも、ARGB 32 ビット ビジュアルを取得するために常に最初に XGetVisualInfo() を使用する必要がありますか?

ありがとう、

アンディ

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

cocoa - Cocoa: NSGradient をその下に描画するためのマスクとして使用する

Cocoa を使用して形状の反射を描画しようとしています。既に NSAffineTransform を適用してシェイプを正常に再描画しましたが、その上にアルファ マスクを描画する方法がわかりません。操作を使用してNSCompositeDestinationOutいますが、望ましくない結果が得られます:代替テキスト http://img687.imageshack.us/img687/2417/capturedcran20100623094.png

これを修正する方法が正確にはわかりません。グラデーションがアルファ マスクとしてのみ機能し、実際には表示されないようにする必要があります。間違った合成モードを使用していませんか?

ありがとう!必要に応じてグラデーション コードを次に示します。

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

direct3d - データを IDirect3DDevice9 のスワップチェーンにキューイングする

私は direct3D が初めてです。direct3ddevice に画像を書き込み、そこから xrgb で同じ画像を取得しようとしています。テクスチャを作成し、GetSurfaceLevel() からサーフェスを取得します。画像ファイルを使用して ARGB に変換し、テクスチャからロックされたサーフェスに書き込みます。しかし、Direct3DDevice で GetBackBuffer() 呼び出しを使用して XRGB で同じデータを取得できるように、このデータをスワップチェーンにキューイングするにはどうすればよいでしょうか??

ソースからのテクスチャとデータをさらに操作して、direct3d を使用してイメージ (RGB で別のアルファ チャネルを含むイメージ) を合成するなどの特殊効果を適用したいので、これを行いたいと考えています。

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

android - GLSurfaceView 上の Android ビュー アニメーションが遅い

GLSurfaceView の上にビュー アニメーション (複雑なものは何もなく、AlphaAnimation と TranslateAnimation のみ) を含む Android ビューを配置すると、アニメーションの実行が遅くなることに気付きました (つまり、多くのカクつきが見られます)。 GLSurfaceView、そしてアニメーションの再生中にGLドローコールがヒットしないことを(ブレークポイントを設定することによって)確認したと信じているので、遅さの原因はわかりません。

誰もこれを回避する方法を知っていますか? iPhoneでもこれが問題だったことは知っていますが、問題を修正するためにOSのアップデートが行われました. それらはショート ビュー アニメーション (例: You Win!) であるため、世界で最悪というわけではありませんが、回避策があればいいと思います。

GL でアニメーションを実行しない理由は、ゲーム内の任意のアクティビティからアニメーションを実行できる必要があり、すべてのアクティビティに GLSurfaceViews があるわけではないためです。

最後に、問題があれば、Replica Island http://code.google.com/p/replicaisland/から変更された GLSurfaceView ソースを使用しています。

0 投票する
3 に答える
8269 参照

colors - ブレンディングは、WebGLのGLSL ESフラグメントシェーダーとどのように連携しますか?

WebGLを使用して表示する簡単な効果を取得しようとしています。当然、これは、GLSLES1.0仕様で定義されているフラグメントシェーダー言語を使用していることを意味します。

私が使用しているコードは、主に他のソースからコピーされています。正方形を設定し、フラグメントシェーダーと頂点シェーダーを使用してピクセルの色を決定します。次のコードは、白い四角を表示するだけです。

ただし、アルファコンポーネントをに変更すると、1.0代わりに黒い四角が表示されます。

フラグメントシェーダーによって出力される色は、以前の色と組み合わせる必要があると思います。(アルファ値に関係なく)最後の色だけが実際に表示される色として選択されていることを確認するにはどうすればよいですか?

または、注文が間違っている可能性があります。おそらく、フラグメントシェーダーの色と組み合わせて白色を生成する後のフェーズがあります。いずれにせよ、アルファ値を0.5に変更すると灰色の四角が表示されるため、何らかのブレンドが行われていることはわかっています。知りたいのですが、白い色はどこから来ているのですか?そして、どうすればそれを取り除くことができますか?

私が知る限り、問題はブレンディング機能に関係していないことです。コードはここのGitHubにあります。GoogleChromeまたはFirefoxで試してみてください。