問題タブ [orthographic]
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.
opengl - 遠近法から正射行列への変更
単純な三角形が 1 つあるシーンがあります。そして、透視投影を使用しています。次のように(GLMの助けを借りて)MVPマトリックスをセットアップしました:
カメラの値を変更しても、三角形は適切に表示されます。
しかし、私は正投影を使いたいです。また、射影行列を正投影に変更すると、予期しない動作をしたり、三角形を表示できなかったり、画面の隅に小さな部分が 1 つだけ表示されたりします。正投影を使用するには、次のようにします。
ビューとモデルのマトリックスでは何も変更しませんが。そして、私は正しく機能しません。
正しい方向へのプッシュが必要なだけです。何か間違ったことをしていますか? 正射投影を適切に設定するにはどうすればよいですか?
PS必要かどうかはわかりませんが、これらは三角形の座標です:
opengl - 正投影行列と同等であるが、xy平面にないときに遠近法を与える投影行列を見つけるにはどうすればよいですか?
gluOrtho2D()によって設定されたマトリックスを使用してすべてのレンダリングを実行するプログラムをいじっています。私がやりたいのは、y軸(0,1,0)を中心に特定のテクスチャを回転させて、元のマトリックスが代わりにgluPerspective()によって提供されたように見せることです。これは正射影行列では不可能であり、新しい透視投影行列を設定する必要があることを認識しています。描画するテクスチャを、正投影マトリックスで描画したときとまったく同じに見せたいのですが、y軸を中心に回転させた場合を除きます。
要約
すると、図形がxy平面に描画されている場合は特定の正投影行列と同等であるが、xy平面にない場合は遠近法を提供する遠近投影行列を見つけるにはどうすればよいですか?
qt - glOrtho() ビューで立方体を描画しますか?
OpenGL で 4 分割ビューアーを開発しています。1 つの図は斜視図で、もう 1 つの図は正射影 (正面、左、上) 用です。
(-1,-1,-1) から (1,1,1) までの立方体を描画するメソッドを作成しました。パース ビューではうまく機能しますが、使用するビューでは機能しません。 glOrtho(...)。
今、私は次のように設定しました:
面白いことに、ビューにはキューブがまったく表示されません。ただし、正しく表示される OpenGL のビューの境界線を実装しました。
私は Qt を使用しており、QGLWidget の派生クラスを作成しました。
opengl-es - オルソグラフィックを遠近法に変換する
線を表す2つのポイントがあります。問題は、正投影行列(150x250x0)の1つの座標と、遠近法行列(0.5x0.5x20.0f)の2番目の座標を知っていることです。glslシェーダーを使用して線を描画できるように、正投影座標を遠近法に変換したいと思います:)。このタスクを実行する方法は?
c# - OpenGL/SharpGL - Ortho 投影の近くの表面のみを指しますか?
各ポイントに 3 次元を使用してポイントを作成し、直交投影を使用してポイントを表示する場合、-near サーフェス上のポイントのみが表示される理由はありますか? たとえば、(SharpGL メソッド) を使用する場合、gl.Ortho(0, width, height, 0, -10, 10)
実際には z=10 の点のみが表示されます (近い面は -10 であるため)。
私は現在 SharpGL を使用していますが、私が抱えている問題がその特定の実装/ライブラリにないことを願っています。
編集:問題を示す以下のコードを追加しています。この例には SharpGL が必要であり、実際には現在の SharpGL ソース コードに付属する WPF サンプル プロジェクトを変更したものであることに注意してください (元のサンプル プロジェクトは TwoDSample と呼ばれます)。
プロジェクトには MainWindow.xaml と MainWindow.xaml.cs が必要です。xaml は次のとおりです。
コードビハインドは次のとおりです。
opengl - OpenGL:正射影で遠方と近方が負になるのはなぜですか?
正投影で近座標と遠座標が負として解釈されるのはなぜですか?それはただの慣習ですか、それとも本当にこれの利点がありますか?
opengl - VBO を使用した OpenGL での単純な 2D カリング
パフォーマンス上の理由から、即時モードの代わりに VBO を使用することを検討しています。スプライトで満たされた 2D 正投影シーンを作成しています。画面外のスプライトを描きたくありません。これは、画面サイズとカメラの位置に対してそれらの位置を確認することによって行います。
即時モードでは、これは簡単です。スプライトごとに draw メソッドがあります。VBO を使用すると、これは自明ではないようです。一度に VBO のセクション全体をレンダリングします。画面外にあるレンダリング スプライトから選択する (私が考えることができる) 方法はありません。
opengl - openglでの描画順序の並べ替え
正射影があり、スプライトを描画しています。問題は、スプライトがOpenGLで描画された順序で表示されることです。それらにZ値を割り当て、ソートされたZオーダーで描画してもらいたいと思います。どうすればこれを達成できますか?
c++ - 2Dから3DへのC++OpenGLの切り替え
C ++ Visual Studio 2008フォームアプリケーションでOpenGLを使用していますが、ブール値がtrue / falseに設定されている場合、GLcontrolで3Dと2Dを切り替えたいと考えています。
3Dでの描画は正常に機能し、2Dでの描画は正常に機能します。問題は、あるものから別のものに切り替えるときに発生します。したがって、アプリケーションの描画を2Dで開始すると、3Dでも完全に機能しますが、実行中にブール値を変更しても、何も描画されません。
これが私が別のものに変更するコードです。
何が悪いのかわかりませんが、前に言ったように、変数が最初にあるときは完全に描画され、変数が最初にあるときは完全に描画されるため、行列などをクリアしないと思いdraw3D==true
ますdraw3D==false
2Dではありますが、実行時の変更により機能しなくなります。
canvas - Three.js キャンバス パーティクルが OrthographicCamera でレンダリングされない
Three.js のcanvas_lines デモを使用して、遠近法カメラを正投影カメラに置き換えると、次のようになります。
線は表示されますが、パーティクルはレンダリングされなくなります。これは Three.js のバグですか、それとも正射影についての私の理解ですか?
変更前の粒子の画像:
に切り替えた後OrthographicCamera
:
(粒子が欠落しており、行が空のスペースで終了していることに注意してください)