問題タブ [deferred-rendering]
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 - いつ検出するか荷重
モーダルの内部を使用して、<ng-include>
いくつかのオプションに基づいて条件付きでさまざまなコンテンツをロードしています。
コンテンツは、モーダルがいずれかのモード (heh) で起動されたとき、またはユーザーがドロップダウンを変更したときに選択されます。
これらのケースのいずれにおいても、このようなテンプレートのセクションは、適切なモーダル コンテンツに読み込まれます。
次に、ロードするmodals/contents-addressForm.html
か、場合によっては何でもします。
トリックは、異なるフォームは異なるサイズです。それらが読み込まれると、モーダルはそれ自体を再配置する必要があります。
変数を試してみ$watch
ました。これにより、モーダル起動時に変更と初期値の両方が検出されますが、まだコンテンツにロードされていないform.type
ため、再配置が早すぎます。ng-include
私は延期を試みましたが、これは必ずしも十分な長さではありません。任意の長さのタイムアウトを試すこともできますが、これは... 任意のようです。
ng-include がいつ読み込まれるかを知る方法はありますか? 次の ng-include が読み込まれるのはいつですか?
c++ - OpenGL 遅延レンダリングが機能しない
最初のパスでジオメトリをレンダリングし、2 番目のパスでバッファからクワッドにレンダリングしようとしています。
ジオメトリを画面に直接レンダリングすることはできますが、複数のパスを使用してクワッドにレンダリングしようとするとすぐに、画面が黒のままになります (クリア カラーは灰色です)。
私のシェーダーが問題かもしれないと思います。必要に応じて、さらにコードを要求してください。
頂点シェーダー:
フラグメント シェーダー:
編集:
編集:レンダリング方法:
より多くのコード:
レンダー メソッドを渡す:
opengl - 遅延レンダリングによるシャドウ マッピング
シャドウ マッピング手法を実装しようとしていますが、機能させるにはいくつか問題があります。
ライトの位置にカメラがあり、これが取得したシャドウ マップです。すべての頂点がそれぞれ で乗算されていますmodelViewProjectionMatrix
。
頂点のワールド位置を持つテクスチャもあります。ワールド空間にポイントをGL_RGBA32F
持つためにすべてのポイントがそれぞれ乗算されているため、これはテクスチャです。ModelMatrix
そしてシェーダー:
出力 (カメラはライトのほぼ同じ位置にあります):
各頂点の投影がカメラの位置から正しいかどうかを確認しようとしていますが、そうではないようです。このすべてのポイントは、比較することです。
しかし、それも機能しません。
助けていただければ幸いです。ありがとうございました。
javascript - Jquery UI ライブラリのレンダリングをブロックする JavaScript の削除
この遅延メソッドを使用して「レンダリングをブロックする JavaScript を削除する」ことにより、Web ページの速度を上げようとしています。
すべてのJavaScriptファイルをcombination.jsと呼ばれる1つに結合しましたが、このjqueryライブラリUIを結合しようとするたびに:
組み合わせ.jsでは、私のjqueryスクリプトは機能しません。
したがって、Google ページの速度は、このライブラリの「レンダリングをブロックする JavaScript を削除する」必要があるとまだ言っていますが、どうすればよいでしょうか?
アップデート:
Jquery UI Libraryをcombination.jsファイルの先頭に追加し、CHROMEとIE9でテストすると動作します! 上記の問題は、Firefoxでテストするときです(バージョン35を使用しています)。これはFirefoxの問題のようです
opengl - OpenGL ライトとディファード シェーディング
ディレクショナル ライトとポイント ライトの唯一の違いは、ディレクショナル ライトには減衰係数がないということでしょうか? また、ほとんどのゲームはディファード シェーディングを使用していますか? 全体で 10 個未満のライトを使用している場合、アプリケーションにディファード シェーディングを実装する必要がありますか?
opengl - マルチパスアプローチが絶対に必要になるのはどのような状況ですか?
すべてを同じシェーダー プログラム内に保持するのではなく、マルチパス レンダリングが避けられない必要性になる一般的で基本的な状況を列挙したいと思います。これが私がこれまでに思いついたものです。
- 結果が現在のフラグメント周辺の非ローカル フラグメント情報 (つまりコンテキスト) を必要とする場合 (ボックス フィルターなど)、前のパスでこれが提供されている必要があります。
- 結果が前のパスによって行われたハードウェア補間を必要とする場合。
- 結果が何らかの計算セットのプリキャッシュとして機能する場合、それらを使用するパスで計算セット全体を単純に (再) 処理するよりも大幅にパフォーマンスが向上します。複数のレイター パス シェーダーがそれらの計算を繰り返すのではなく、共有できるコストのかかる方法です。したがって、一度計算して、複数回使用します。
上記の私自身の (素朴な) 推論から、頂点シェーダーとジオメトリ シェーダーは実際には遅延レンダリングの図に入っていないようであり、おそらく通常は最初のパスで行われることに注意してください。私にはこれは理にかなっているように思えますが、これを詳細に肯定または否定することは興味深いでしょう。
PS良い答えを集めるために、この質問は開いたままにしておくつもりです。
c# - OpenGL 遅延レンダリング: ポイント ライトの実装
C# と OpenGL (OpenTK を使用) を使用して遅延レンダラーを作成しようとしています。
しかし、ポイント ライトの通常の計算をどのように実装すればよいかわかりません。
ポイント ライト フラグメント シェーダ:
結果:
それはうまく見えます。ただし、ライトは 10*10 の平面上にあり、ライトの半径は 5 であるため、ライトはサーフェスをほぼカバーするはずです。
問題は理解できたが、それを修正する方法がわからない...
それ以上のピクセルの nDotL は小さくなり、この「アーティファクト」につながります。
「* nDotL」部分を削除すると、ライトは次のようになります。
この場合、範囲は問題ありませんが、床の下部も点灯しています...
誰かがこれを修正する方法を教えていただければ幸いです。
opengl - 深度テクスチャからのカメラ空間法線
1 回目のパスから保存された (非線形の) 深度テクスチャを使用して、スクリーン空間の法線を生成したいと考えています。2 番目のパスでは、深度、拡散、ID などをレンダリングできますが、深度から法線が機能しているようには見えません。
深さから法線を取得することに関する現在の理解:
texture()
/texelFetch()
p
現在の tex 座標でp
+ (1, 0) =p1
,p
+ (0, 1) =p2
; これらからカメラ空間の位置を再構築しますv1
ベクトルを取得p1 - p
: 現在の位置とその画面/テクスチャ空間 x 隣接間のベクトルv2
ベクトルを取得p2 - p
: 現在の位置とその画面/テクスチャ空間の y 近傍の間のベクトルcross
これら 2 つをnormalize()
積んで、現在のテクセルでサーフェス法線を取得します。
シェーダー (2 番目のパス! フルスクリーン クワッドにレンダリング)
バーテックス:
断片:
結果
質問何が間違っていますか? 5 歳児に説明するように説明してください。:)
これは、SSAO と指向性照明の基礎として使用されます。
私が知る限り、フラグメントdFdx
でdFdy
はなくテクセルで作業しているため、答えではありません。