問題タブ [frustum]

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

c++ - 錐台カリングの最適化

私は C++ でゲームを書いており、それぞれが独自の頂点バッファーを持つ多くの個別のメッシュで構成されるレベルを持っています。vmmlib (華麗な無料の gl compat. vector/matrix library ) を使用して錐台カラーを作成し、レベル内のすべてのメッシュの境界球に対してテストしています。悲しいことに、私のレベルは最大 800 のメッシュで構成されている可能性があり、フレームごとにそれらすべてを反復するのは遅いです。すべての反復ですべてのメッシュを確認する必要がないように、コードを最適化する最良の方法は何ですか? フラスタム内のバウンディング ボリューム?

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

java - glGet *呼び出しなしのopengl錐台カリング

ビュー錐台計算のさまざまな例では、glGetFloatv() を使用して現在の投影とモデルビュー マトリックス (GL_PROJECTION_MATRIX、GL_MODELVIEW_MATRIX) を取得し、それに基づいてビュー錐台カリングを行います。

glGet* は、メインのレンダリング ループでは望ましくないものであると読みました。

「「Get」または「Is」関数を使用すると、レンダリングのパフォーマンスが低下します。これらのコマンドは、グラフィック システムが「Get」または「Is」クエリに応答する前に、キューに入れられたすべての OpenGL 呼び出しを強制的に実行します。

だから私の質問はです。コード内で確実なフラスタム カリング アルゴリズムを作成するにはどうすればよいですか? また、このストールが発生しないようにするには、どこに配置すればよいでしょうか?

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

java - 地球錐台からの可視領域の決定

私はマッピングアプリケーション(worldwind)を使用していて、現在表示されている最小および最大の緯度と経度を決定しようとしています。私は錐台にアクセスできますが、地球がその方位やピッチを変更できるという事実をどのように説明するのかわかりません。この問題についての助けをいただければ幸いです。

ありがとう、

ジェフ

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

iphone - iPhoneのOpenGL ES1でglFrustrumをどのように使用しますか

私は Xcode 3.2.1 を使用しており、iPhone OpenGL ES1 プロジェクトを作成しようとしています。opengl プロジェクトのデフォルト テンプレートは問題ありませんが、コードを分割しようとしていたため、drawView() 呼び出しでフレームごとにすべてが実行されるわけではありません。

照明を設定し、深度テストをオンにし、カリングをオンにして、クリアカラーを設定する別の setupRC メソッドがあります。これは EAGLView の init で呼び出され、問題なく動作します。

glViewport() と glFrustrum() の呼び出しを取り、ES1Renderer.m ファイルの resizeFromLayer() メソッドの最後に配置しました。これは、アプリの起動時とアプリのサイズが変更されたときに発生します。

ここでの問題は、すべてのオブジェクトが切り取られたり切り取られたりするため、錐台の遠方が台無しになっているように見えることです。カメラの位置と角度を調整してみましたが、それでもすべてのオブジェクトがカット/クリッピングされます。far を 1000.0f から 30000.0f に増やしても、同じ結果が得られます。クレイジーなのは、drawView() で glViewport() と glFrustrum() の両方の呼び出しを呼び出すと、すべてのフレームが正しく見えることです。何も切り取られておらず、欲しいように見えます。私が読んできたすべてのものから、錐台とビューポートの呼び出しは、ウィンドウが作成されてサイズが変更されたときにのみ呼び出される必要がありますが、プロジェクトのすべてのフレームで呼び出さないと機能しません。何か案は?

前もって感謝します

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

delphi - GLSceneにおける錐台との交差の決定

デルファイでGLSceneを使用して、オブジェクト(線または平面で十分)と可視スペースの交点を見つけて、このオブジェクトの現在表示されている部分を特定する必要があります。
ビュー錐台を取得しようとしましたが、方法が見つかりませんでした。カメラの位置、方向、視野を使用することを考えていましたが、MoveAroundTargetなどのメソッドを使用したり、ターゲットオブジェクトを設定したりすると、それらが更新されないのではないかと思います。
ありがとう、
マルコ

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

iphone - 3D 空間で使用する値

これは私が実際に抱えている機能的な問題ではなく、より戦略的な問題です。私は 3D プログラミングが初めてで、チュートリアルや例を見ると、座標は通常 -1 から 1 の間であることが分かります。

座標として整数を使用する方が自然だと思います。小さな浮動小数点値が使用される特定の理由はありますか? おそらくパフォーマンスやその他のものですか?

まだそこまで進んでいないので、この質問をするのは時期尚早かもしれませんが、インポートするオブジェクト/テクスチャを作成するとき、それらは通常、座標のサイズが整数であるアプリケーションで作成されると思います (テクスチャ用の Photoshop など)。これは、x/y/z サイズを定義する方法には関係ありませんか?

前もって感謝します!

0 投票する
8 に答える
3791 参照

algorithm - 錐台の最小境界球を見つける

私は錐台(角錐台)を持っており、この錐台の境界球をできるだけ小さく計算する必要があります。錐台の真ん中に中心を選択し、半径を「遠い」角の1つまでの距離にすることができますが、通常、錐台の狭い端の周りにかなりのたるみが残ります。

これは単純なジオメトリのように見えますが、私には理解できないようです。何か案は?

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

math - ニアプレーンから所定の距離にある錐台の幅

CMLを使用して、仕事用に作成している OpenGL ベースのインターフェイス プロジェクトで 3D 数学を管理しています。カメラを表す 4x4 マトリックスの一部として保持されている、視点からの特定の距離における視錐台の幅を知る必要があります。私の目標は、GUI オブジェクトをビューポートの見かけの端に沿って配置することですが、ニア クリッピング プレーンから画面に少し離れた位置に配置します。

CML には錐台の平面を抽出し、Ax + By + Cz + D = 0 の形式で返す機能があります。この錐台はカメラに対して垂直であり、必ずしも透視投影の z 軸と一致するとは限りません。

カメラからの距離が異なる画面の側面にグラフィック要素を固定するために、x 座標と z 座標を抽出したいと思います。それを行うための最良の方法は何ですか?

ありがとう!

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

iphone - OpenGL-ES 錐台の視野角を変更

自分で説明できるか見てみましょう。

glFrustum ビューを設定すると、遠近効果が得られます。近くのもの 近くて大きい... 遠いもの 遠くて小さい。この効果を生み出すために、すべてが Z 軸に沿って収縮しているように見えます。

あまり縮まないようにする方法はありますか?透視図を正射図に近づけるには....しかし、遠近法を完全に失うほどではありませんか?

ありがとう

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

iphone - iPhone AR アプリの OpenGL ES で表示ボリュームを設定するにはどうすればよいですか?

OpenGL ES ビューをオーバーレイとしてカメラ ビューに追加したいと考えています。この質問とその回答から、iPhone 4 の背面カメラの 2 つの画角を知ることができました。

OpenGL ES ビューでボリューム ビューとそのパースペクティブを適切に設定するにはどうすればよいですか? またはを使用しますglFrustumglOrthof?

(gluPerspective がパラメーターとして 1 つの角度しかとらないことを見てきましたが、長方形ではなく正方形の錐台を持つことを想定していますか?)