問題タブ [post-processing]
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.
javascript - 画像のみにソーベル フィルターまたはフライチェン フィルターを適用するにはどうすればよいですか?
次のような画像のレイヤーを視覚化する必要がある例で Three.js をテストします。
「THREE.EdgeShader」または「THREE.EdgeShader2」を使用すると、画像のフィルターを取得します。次の画像は、取得した結果を示しています。
シーンも変更されているため、私の問題が発生します。したがって、画像にのみフィルターを適用する必要があります。さらに、フィルターを適用した後、黒になるすべてのピクセルを透明にする必要があります。私たちを手伝ってくれますか ?
コードは次のとおりです。
opengl - 後処理と結果のテクスチャ
後処理の仕組みを理解しようとしています。
私が理解したことから、私はそのようなことをする必要があります:
そのシステムの問題は、結果のクワッドに複数の効果を適用するにはどうすればよいですか?
私の考えでは、結果のテクスチャに「エフェクト」(シェーダー) を適用してからクワッドを描画するのがおそらく最良の解決策だと思いますが、それが可能かどうかはわかりません。
シェーダーをテクスチャに直接適用できますか?
PS: 現時点で行ったことは次のとおりです。現在、すべてのシーンをテクスチャで描画できます。
PostEffect クラス (適用する効果)
EffectManager (出力テクスチャを作成し、メソッド「add(PostEffect*)」を用意します)
opengl-es - モバイル GPU で拡張された浮動小数点精度
opengl-es 2.0 を使用して、GPU 上の画像の勾配ベクトル フィールドを計算しようとしています。GPU実装との比較として使用するCPU実装を見つけました。ここでの課題は、CPU 実装が Java 型 float (32 ビット) に依存しているのに対し、私の gpu 実装は lowp float (8 ビット) を使用していることです。より良い結果を得るために mediump または highp を使用できることはわかっていますが、コードが可能な限り最も貧弱なハードウェアで実行できることを確認するために、引き続き lowp float を使用したいと考えています。
勾配ベクトル場を計算するための最初のいくつかの手順は非常に簡単です。
- 正規化されたグレースケール (赤 + 緑 + 青)/3.0 を計算します。
- エッジ マップ (右ピクセル - 左ピクセル)/2.0 および (上ピクセル - 下ピクセル)/2.0 を計算します。
- ラプラシアンを計算します (もう少し複雑ですが、ここで詳細を説明する必要はありません)
現在、派手なことをしなくても、CPU実装からの画像結果がGPUからの画像結果と同じになるように、ステップ1を正確に模倣することができます。
残念ながら、私のエッジ マップの計算は GPU で十分に正確ではないため、既にステップ 2 に行き詰まっています。
そこで、 http://andrewthall.org/papers/df64_qf128.pdfから着想を得て、拡張精度浮動小数点を実装しようとしました。
私はopengl-esにかなり慣れていないので、ここで正しく行ったかどうかさえわかりませんが、現在苦しんでいるこの精度の低下を解決するためにコーディングするつもりだった操作を以下に示します.
明らかに、単純な操作を使用しているか、拡張浮動小数点操作を使用しているかに関係なく、同じ結果が得られるため、ここで何か間違っているか、いくつかの非常に基本的な概念を見逃している必要があります...
c++ - 作成後のテクスチャ上のシェイプの OpenGL アンチ エイリアシング
OpenGL によって描画されたいくつかの単純な形状 (円、多角形、線) を持つ透明な OpenGL テクスチャがあります。アンチエイリアシングやマルチサンプリングなどを行わずに描画されているため、境界線がぎざぎざになっています。
テクスチャ作成のプロセスにアクセスできないため、マルチサンプリングを有効にできません。描画が完了した後にそれらを滑らかにする方法はありますか?
java - Tomcat 7.0: 「org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor」という名前の Bean の作成中にエラーが発生しました
Tomcat 7.0 の起動時にエラーが発生する:
このような多くのエラーはどこにありますか。このプロジェクトは、maven、spring に基づいています。
なぜこれが起こるのか、何か考えはありますか?プロジェクトに赤いエラーはなく、正常にビルドされます。
依存関係をmavenで処理する方法は次のとおりです。
エラースタックトレースは次のとおりです。
そして、エラーの原因となっている Bean 定義は次のとおりです。
これらの Bean をコメントアウトすると、アプリケーションは動作し始めますが、将来必要になる可能性があります。
opengl - OpenGL: 後処理 + マルチサンプリング =?
私は OpenGL にかなり慣れていないので、シーン レンダリングに後処理ステージを追加する方法を見つけようとしています。私がこれまでに知っていることは、FBO を作成し、それにシーンをレンダリングした後、後処理シェーダーを使用して FBO からのテクスチャを入力としてバック バッファーにレンダリングできるということです。
しかし、これが私の知識を超えているのは、マルチサンプリングが投入されたときです。FBO はマルチサンプリングする必要があります。1. ポストプロセス シェーダーがサブサンプルを 1:1 で操作して、最終的なマルチサンプリングされた画面出力を生成するか、または 2. シェーダーが複数のサンプルを解決し、各画面ピクセルに対して 1 つの画面フラグメントを出力する必要があります。これらはどのように行うことができますか?
c# - メソッド本体の末尾の前にコード行をプログラムで挿入する
私がしたいのは、プログラムでコード行を挿入することです ( C#、既存のファイルを開いてそれに書き込むことを意味します) (以下を参照):
私はMyClass.csを持っています:
これを行うための最良のアプローチは何ですか?メソッド「HelloWorld」を見つけてから、「一致する」閉じ括弧 ( } ) を見つけるにはどうすればよいですか?
多くの人は、なぜ私がこれを望んでいるのか疑問に思うでしょう (ちょっとばかげているように思えるからです)。Windows ストア アプリのビルド時に Unity 用の PostProcess スクリプトを作成しているため、これが必要です。また、新しいビルドのたびに手動で追加する必要があるものもあります (これを自動的に作成して、失敗したり忘れたりする可能性のあるものの量を最小限に抑えたいと考えています)。
編集
どうやら私は十分に明確ではありませんでした。上記のコードは単なる例であり、上記のコード例とまったく同じにはなりません。スイッチケースがある場合とない場合があります。追加{
の and}
文字が存在する場合があります (ただし、一致する開始ブラケットと終了ブラケットは常に存在します)。「プレースホルダー」はありません。つまり、見つけて置き換えるだけの「 <--------INSERT CODE HERE --------> 」がありません。物事がそんなに簡単なら、私は助けを求めません! 不確かな場合は申し訳ありませんが、正直なところ、十分な情報を提供したと思いました。
opengl - OpenGL フレームバッファの後処理
フレームバッファとオフスクリーン レンダリングを使用して、シーンに単純なビネット効果を適用しようとしています。FBO とエフェクトを機能させることができましたが、何らかの理由でシーンがまったく表示されません。シーンが読み込まれると、オブジェクトが一瞬表示されますが、「空白」になります (添付の gif を確認してください)。私の理解では、シーンは FBO に正しくレンダリングされます (そうしないと、短時間でもまったく表示されません) が、何らかの理由でそれが消去されます。
ソースファイル: gist.github.com/morcmarc/31a02dbbd9aad2955f47
http://postimg.org/image/wvhuestr3/
比較のために、組み込みのフレーム バッファに直接レンダリングすると次のようになります。シーンが適切にレンダリングされているように見えるだけです。