問題タブ [projection-matrix]

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

r - 射影行列: 第 2 段階グループの移行行列と出生行列の組み合わせ

以下の情報を射影​​行列にどのように組み合わせるかをお聞きしたいです。私は遷移 ( T ) と受胎能 ( F ) 行列のデータを持っているので、射影行列 ( A ) はこれら 2 つの行列の和、つまりA=T+Fに等しくなります。

遷移行列の個体に関しては、単位時間単位が上に移動するか (1 時間単位が「古くなる」)、下に移動するか (その逆) のいずれかになります (つまり、遷移行列のエントリは下対角値または上対角値のいずれかです)。

問題は、T と F のエントリが重複する第 2 ステージ グループの A で T と F の値を組み合わせる方法です。つまり、ステージ 2 から 3 に移動する確率がたとえば 0.4 で、ステージ 2 からステージ 1 に移動する確率 = 0.1 の場合、F 値 - 3 と重複します (これは確率ではなく、別の単位です)。この情報を有意義に組み合わせる方法は?前もって感謝します。

問題を説明するために、以下のマトリックスを見つけてください。P(i) - あるステージから別のステージに移動する確率、および Z(i) - あるステージから別のステージに逆方向に移動する確率 (時間可逆性); F(i) - 出生率。

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

opengl - ウィンドウ全体を正方形で塗りつぶす

最新のOpenGLでウィンドウ全体を正方形で埋めるために必要な変換を決定するにはどうすればよいですか。たとえば、800 x 600 のウィンドウと、-1 と 1 から伸びる 2 つの三角形の頂点を持つ座標があるとします。OpenGL の座標は -1 から 1 に伸びるため、これらの座標は 800 x 600 のウィンドウを埋めます。ただし、標準の MVP 変換を使用したい場合はどうすればよいでしょうか? ウィンドウ全体を埋めるために何をする必要があるかを判断するにはどうすればよいですか。次のコードを検討してください。

同じ座標で。ウィンドウの真ん中のどこかに四角形が表示されます。射影行列を変更しないと仮定すると、View 行列と Model 行列にどのような変更を加える必要がありますか? 行列の計算は理解していますが、それがウィンドウ座標自体とどのように関係しているかはわかりません。

誰かがこれを理解するのを手伝ってくれますか?

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

opengl - オブジェクトをせん断するための OpenGL 射影行列の作成

近くの顔がディスプレイの隅に完全に位置合わせされたままのボックスをレンダリングしようとしていますが、残りは視差効果のように (遠近法で) せん断することができます。基本的にこれとまったく同じです。

射影行列にこのせん断行列を掛けると、正しい効果が得られることがわかりました。

ただし、ビュー ボリュームはボリュームの中心付近でせん断しているように見えるため、回転を開始するとすぐに、ボックスの前面が表示領域の外で揺れます。

モデルまたはビューポートを変換して補正できるかもしれませんが、それはごまかしのようです。これは正しい射影行列で行うことができますか、それともモデル ビュー行列に適用する必要がある他の変換を計算する良い方法はありますか?

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

java - LWJGL 射影行列 - 何も起こらない

現在、LWJGL で Camera クラスを作成しようとしていますが、射影行列で問題が発生しています。何らかの理由で、頂点に射影行列を掛けようとすると、画面に何も表示されません。

カメラクラス

メインクラス

頂点シェーダー

ShaderProgram クラス

これを実行すると、作成した VBO (三角形) は表示されませんが、頂点シェーダーの乗算から射影行列を除外すると、問題なく実行されます。何か不足していますか?

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

opengl - OpenGL: Framebuffer オブジェクトからレンダリングされたテクスチャをロードする

オブジェクトに 2 パス ブラーを適用していframebufferます。FBOで、ぼかしようとしている画像でシーン全体が覆われていることを確認します。これがプロセスです。

  1. FBOぼかす必要がある画像の寸法を設定しました。
  2. 次の関数を使用して をセットアップしOrthographic Projectionています ( と呼ばれますsetupOrtho(FBO's dimensions) ):

    glViewport(0, 0, w, h) glMatrixMode(GL_PROJECTION) glLoadIdentity() glOrtho(0,1,0,1,-1,1) glMatrixMode(GL_MODELVIEW) glLoadIdentity()

  3. FBOこの射影を使用して に描画します。バインドを解除しますFBO(画面に戻ります)。
  4. Perspective Viewを呼び出し 、上記をsetupPerspective(window's dimensions)に置き換えて に切り替えます。glOrthoglFrustum

シンプルな白いクワッドを描画すると、ビューの切り替えが期待どおりに機能します。1 つの四角形が で描画されOrthographic Projection、もう1 つの四角形が で描画されPerspective Viewます。からレンダリングされたテクスチャを取得しますFBO(id を にしますRENDEREDTEXTURE)。

メイン シーンでをバインドするRENDEREDTEXTUREOrthographic Projection、ぼやけた画像が表示されます。これをメイン シーンの にバインドするとPerspective View、以前に表示されていた白いクワッド ( で描画されたものPerspective View) が消えます。

解決策:回答として投稿。

: テクスチャを使用する場合は、MIPMAP の生成を忘れないでください。

ここで何が問題になる可能性がありますか?

FBOでは、処理したい画像のみが表示され(正射投影を行った)、メインシーンでは、処理された画像が画像ファイルからロードされた他のテクスチャと同じになるような代替手段を提案してください。.