問題タブ [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.

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

android - 正規化された座標に影響を与える正投影または錐台を適用しますか?

正規化された座標は -1 (左) と +1 (右) と -1 (下) と +1 (上) であることを知っています

このような:

ここに画像の説明を入力

しかし、これを適用した後:

私の onSurfaceChanged メソッドから

そして、これは私の onDrawFrame メソッドで

(次に、mVMVPMatrix をカスタム クラスの draw メソッドに渡し、そこで回転および変換します)。

しかし、私の座標は変化しているようです - これは大まかに起こることです:

ここに画像の説明を入力

ご覧のとおり、x 座標が若干変更され、-1 と +1 が画面の端ではなくなりました (現在使用しているデバイスでは、外側の端が -1.7 と +1.7 になります)。

Y 座標は変更されません。

誰かが私が間違っているところを指摘していただければ幸いです。あるべきように-1から+1にする必要があります。

ありがとう

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

c# - XNA: ストレッチせずに正投影ウィンドウのサイズを変更する

しばらくの間、Windows 用のゲーム プロジェクトに取り組んでいます。以前は静的な 1600 x 900 の解像度を使用していましたが、これで問題なく動作しました。しかし、一部のベータ テスターに​​とってはそれほどでもありません。

これにより、XNA ベースのゲームにおける解像度の非依存性について調べるようになりました。私は、RenderTarget2D にすべてを描画し、それをウィンドウ サイズに合わせて引き延ばす、多くの仮想解像度システムを試してきました。しかし、それは私にはうまくいきません。

私が知りたいのは、Terraria が使用するものと同様の射影行列を計算する方法です。terraria でどのように機能するかを知らない人のために説明すると (今はともかく、以前は違っていたと思います)、ゲーム ウィンドウのサイズを変更すると、画面上により多くのものが表示されます。

現在、私の射影行列は次のように定義されています。

これは、ウィンドウのサイズが水平方向に変化するときに機能します。横に見えるものが増え、すべて問題ありません。しかし、ウィンドウを垂直方向にサイズ変更すると、すべてが一緒に固定されます。

ウィンドウのサイズを水平方向と垂直方向の両方に変更できるように、射影行列を計算する方法はありますか?

編集:

カメラクラスを間接的に使用しています。すべてが Farseer Physics 座標空間にあり、何かが画面に描画されると、Viewport.Unproject() によって変換されます。

解決策:

選択した回答のコメント セクションで gareththegeek が指摘したように、私が求めていた特定の射影行列は次のように形成されます。

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

c++ - 0, 800, 600, 0 vs 0, 800, 0, 600 OpenGL

800 x 600 ウィンドウでは、OpenGL マトリックスを設定する最も一般的な方法はglOrtho(0, 800, 0, 600, 1, -1)ですが、私は常にglOrtho(0, 800, 600, 0, 1 ) を使用します。 、-1)。2 番目の方法よりも最初に示した方法を好む人がいる理由はありますか?

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

opengl - OpenGL 3.0+: 正投影行列

私は最終的に OpenGL で独自の行列を使用することを卒業しており、正投影の設定に少し問題があります。現時点では、左、右、上、下を取り、これらを次のようなマトリックスにスローするメソッドがあります (ここから):

次に、その行列に射影行列を掛けますが、出力として意味のあるものはまったく得られません。これにより、私は 1) であると信じるようになります。適切な正射行列を使用していない、2)。正射行列に正しい行列を掛けない、または 3)。両方。

非推奨の関数を使用するたびに、現在のマトリックスがGL_PROJECTIONのときにglOrthoが呼び出されたため、2であるとは思えません。では、左、右、上、下の値から正射行列を正確に計算するにはどうすればよいでしょうか。

0 投票する
3 に答える
1795 参照

c# - XNA で Oculus Rift の 3D ビュー マトリックスを計算するにはどうすればよいですか?

これは私のカメラクラスです

左目用と右目用のカメラを作成しました。すべてが機能しており、Oculus はそれぞれの目に個別の画像を表示しています。問題は、Oculus がぼやけていて、私の脳が 2 つのビューを 1 つの画像に「マージ」していないことです。右目の画像をわずかにオフセットしようとしていますが、両目の正しい位置を見つけることができません。誰でも助けることができますか?

0 投票する
2 に答える
7896 参照

javascript - 正投影カメラとレイキャストによるオブジェクトの選択

raycaster を使用して正投影カメラでオブジェクトを選択するのに少し苦労しています。とはいえ、パースペクティブ カメラを使用する場合は問題ありません。2つを切り替えるときに変更しているのは、タイプカメラだけです。

正射投影ビューで面を選択できますが、画面上のどこをクリックしているかは大まかにしか関係ありません。オブジェクトから遠く離れたところをクリックしても、中心近くのオブジェクトに当たったかのように戻ってきます。

ここで何が欠けているかについてのアイデアはありますか?

私はコードの多くをこのに基づいており、私のコードから非常によく似た結果を得ることを望んでいます。(私が参照しているこの例では、遠近法カメラを使用しています)

どんな助けでも大歓迎です

私はまだ知らない単純なものであることを願っています。

three.js r60

0 投票する
2 に答える
9180 参照

unity3d - 特定のポイントに焦点を合わせた正投影カメラ ズーム

正投影カメラを使用しており、特定のポイントへのズーム機能を実装したいと考えています。つまり、写真があり、写真の特定の部分にズームしたいとします。

ズームインする方法は知っていますが、問題は、目的のゾーンに焦点が合っている位置にカメラを移動することです。

どうすればそうできますか?

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

c++ - glOrtho() が思ったように機能しない

ウィンドウのビューポートの 1 つに、ティーポットの正投影を表示しようとしています。

glOrthoこれは、ティーポットの正投影ビューを描画するために使用したいコードの一部です。まず第一に、私はglOrtho正しく使用していますか? 私はそうだと思いますが、私が望んでいたものを手に入れていないので、そうであるかどうかは疑わしいです.

私が持っているものが機能しないのはなぜですか?どうすれば修正できますか?

特定の場所に配置することになっている場合はglOrtho、その場所を知っておくと役立ちます。

また、私はいくつかのビューポートを持つことになっているので、その後すべてのビューポートに正投影がありますか?

これが私のプログラムコードスニペット全体で、行192-204から取られています