問題タブ [ssao]
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.
three.js - SSAO シェーダーを使用したシーンの奇妙な四角形
次のコードを実行しています (jsfiddle: http://jsfiddle.net/sx9p7/ ):
SSAOシェーダーに問題があります。私は多くのパラメータ、コード、例を試しましたが、まだシーンの真ん中にあるその四角を削除できません (これは正しい SSAO 効果のように見えますが、間違った位置にあります ??? )
ディレクショナル ライトのフラグメントを 1 つ削除すると、まだ SSAO 効果がなく、シャドウの解像度が非常に低くなっています。
animation - ThreeJS SSAO シェーダーとスキン/アニメーション モデル
ThreeJS に含まれる SSAO シェーダーは、スキン/アニメーション モデルと互換性がありますか? ここのサンドボックスに SSAO シェーダーを実装しました。
http://www.titanpass.com/game_development/my_first_game/index.html
奇妙なことに、モンスターが動くと、すべてのモンスターの周りに一種の白い殻があることに気付くでしょう。これは、スキン アニメーションで更新されない SSAO 効果です。
この問題に関する提案や洞察をいただければ幸いです。
c++ - DirectX 9 HLSL SSAO?
DX9 HLSL SSAO シェーダーが必要ですが、シェーダーに関する知識が限られています。書けるように勉強しようとしていますが、それは急勾配です。
私はSSAOの理論のほとんどを理解していないので、詳細な説明は素晴らしいでしょう.
理論を理解するのにコードは必要ありませんが、通常は実際のコードを読むことで最もよく学びます (たとえ短いコードであっても)。
それを念頭に置いて、私の質問は次のとおりです。DirectX 9 を使用して SSAO を実行するにはどうすればよいですか?
c++ - GLSL - SSAO: 深度位置をフェッチするときに望ましくない結果が得られる
このチュートリアルに基づいて SSAO を実装しようとしています: http://john-chapman-graphics.blogspot.com/2013/01/ssao-tutorial.html。これを達成する方法を理解していないようで、フラグメントシェーダーで望ましくない結果が得られ続けています。
最初に、深度バッファー、カメラの投影マトリックス、および 4x4 ノイズ テクスチャを渡すようにシェーダーをセットアップします。ssao カーネルは既に初期化されており、シェーダーにも渡されています。また、深度バッファから法線をサンプリングします。
編集:最初は深度位置を間違って取得していると思ったので、positionFromDepth という新しい関数を追加しましたが、まだ機能していないようです...
私のフラグメントシェーダー:
カメラを動かすと、遮られたサンプルが変化します。結果は次のようになります。
深度位置をサンプリングするときに何か間違ったことをしていると思いますが、投影行列でも何か間違っている可能性があります。uProjection マトリックスを転置または反転する必要がありますか? 誰でも問題を特定できますか?
また、ぼかしパスをまだ行っていないという事実も無視してください。
three.js - three.js の json オブジェクトの SSAO で黒い画面が生成される
私はプロジェクトを持っており、現時点では非常にうまく機能しています。しかし、次のステップに進むために SSAO を追加したいと考えています。
ここに実際の例があります: http://www.wp11244834.server-he.de/3d-test/3d-testJUN14-JSON.php
テクスチャを削除して、よりシンプルにしました。SO 今、私はここから SSAO コードを追加しようとしました: クリック
しかし、私が得るのは黒い画面だけです。
私は本当にこれにこだわっています。画面全体またはオブジェクト自体に SSAO を追加する必要がありますか? または、コードのどの部分を変更する必要がありますか。
ところで。ここに私の完全なコードがあります。SSAO はコメント アウトされています。
ヘルプ、アドバイス、正しいコードをよろしくお願いします。
ライト部分などを外しました。
three.js - Three.js のカスタム ssao
チュートリアルから ssao シェーダーを完成させようとしています: http://www.nutty.ca/?page_id=352&link=ssao 私は three.js でマルチパス レンダーを使用します。Threeのstackoverflow SSAOアーティファクトにも同様の質問があり、同じチュートリアルから学んだことがわかりました。チュートリアルに詳しく従いますが、レンダリングするテクスチャが完全に間違っているかわかりません。誰かアイデアがありますか?ありがとう!チュートリアルに従って、シーン全体をカラー tDiffusion テクスチャ に保存します: 、ビュー空間の位置を tPosition テクスチャ に保存します: 、ビュー空間の線形深度を tDepth テクスチャに保存します: 、シェーダーは次のようになります。
ビュー空間の法線ベクトルを tNormal テクスチャに保存: ,
次に、tDepth、tPosition、および tNormal に基づいて ao を計算します。
しかし、青は間違っているようです。私のテクスチャをチュートリアルと比較すると、どこが間違っているのかわかりません。Three の SSAO アーティファクトから、通常の生成に問題がある可能性があります。しかし、実際にはビュー空間法線を生成します。Ao 画像のみ: Ao with color scene: チュートリアルの SSAO シェーダー: "custom_NVD_SSAOShader": { uniforms: {
openscenegraph - OpenSceneGraph を使用した SSAO、最適化、およびパイプライン
SSAO 手法の実装についていくつか質問があります。
すべてのジオメトリで 2 つ目 (またはそれ以上) のパイプラインが本当に必要ですか? つまり、いくつかのチュートリアルやそれに関するものを見つけましたが、ほとんどの場合、詳細を入力せずに、それを行うための指示を与えるだけです.
可能な最適化はありますか?私は OSG を使用していますが、CPU 用のテクスチャを送信し、GPU に再度スローするのは最善の解決策ではないという印象を受けました。
シェーダーがバッファ内のサンプル深度でテクスチャを生成し、画面のクワッド、色、シーンの深度、およびテストの深度のみを使用して 2 番目のパイプラインに送信することは可能ですか? 私は osg を使用していますが、ドキュメントでそれを適切に行う方法を見つけることができませんでした。