問題タブ [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 投票する
2 に答える
3992 参照

graphics - オブジェクトのカリングを無効にする

この質問は実際にはUnity3Dに関するものですが、より一般的な質問になることもあるため、この質問を可能な限り一般的にします。

のシーンがありcamera (near = 0.3, far = 1000, fov = 60)、半径10000単位のスカイドームを描画したいとします。

私はドームの中にいるので、オブジェクトはカメラの錐台によってカリングされません。しかし、頂点は何らかのシェーダーによってカリングされ、最終結果は次のようになります。

私のクリップされたスカイドーム

今私の質問は:

オブジェクト全体が描画され、カメラの遠方平面によってクリップされないようにするために、エンジンのどの設定を変更できますか?

私が望まないのは:

  • 錐台の精度が低下するため、遠方平面を10000に変更します
  • 私のゲームは実際には非常に小規模なので、ニアプレーンを変更します
  • この設定は非常にリアルに見えるため、ドームのスケールを変更します
0 投票する
1 に答える
483 参照

android - 左右方向に歪んだ錐台を伴うAndroidopenglの問題

スマートフォンをさまざまな方向に傾けることで、ポリゴンのさまざまな側面を可能にしたい簡単なジャイロテストアプリを作成しています。これは、ヘッドトラックレンダリング手法に似ていますが、目の位置が固定されていると想定し、電話だけが目(カメラ)に対して移動します。

これを行うために、私はopenglesで歪んだ錐台トリックを使用しました。上/下/近/遠方向の錐台を問題なくオフセットできました。オフセット値を2で割った場合にのみ、左右の方向が機能するようになったときに、本当に奇妙な部分が発生しました。錐台を実際の状態から効果的に「縮小」します。

左/右方向に2で割るバグがある作業サンプルコードを次に示します。

誰かがこれに出くわしましたか?

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

opengl-es - OpenGL : 大きなシーンと小さな値による線のジッタリング

私は現在、3D 太陽系を描いており、惑星の軌道の経路を描こうとしています。計算されたデータは 3D 空間では正しいのですが、冥王星に向かうと、カメラが完全に停止するまで軌道線があちこちで揺れます。これはこの特定の惑星に固有のものではないと思いますが、カメラが移動しなければならない距離を考えると、この範囲ではより目立つと思います.

錐台に関係があると思われますが、各コンポーネントに値を差し込んでいますが、解決策が見つからないようです。何かを確認するには、惑星と近くの軌道点には非常に小さい数値 (E-5 等級) を使用する必要がありますが、それ以外の領域には最大で E+2 等級を使用する必要があります (別の錐台で 2 回描画する必要があるかもしれません)。

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

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

opengl-es - OpenGL ES Frustumの外側のジオメトリもレンダリングされますか?

OpenGLESを描画APIとして使用してiPhone用のゲームを開発しています。大きな世界全体を1つの描画要素で描画しています。錐台に応じてオブジェクトが表示されます。

オブジェクトの他の部分がどうなるか知りたいのですが、描かれていますか?FPSに影響しますか?

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

java - フラスタム カリングを使用した VBO の実装に助けが必要

私は現在、学校のプロジェクトで初めての 3D ゲームを開発しています。ゲームの世界は完全に Minecraft にインスパイアされています (世界は完全に立方体でできています)。私は現在、頂点バッファー オブジェクトを実装しようとしてパフォーマンスを改善しようとしていますが、行き詰まっています。このメソッドは既に実装されています: フラスタム カリング、露出面のみの描画、および距離カリングですが、次の疑問があります。

  1. 現在、私の世界には約 2^24 の立方体があり、16*16*64 の立方体の 1024 チャンクに分割されています。現在、フラスタム カリングでうまく機能する即時モード レンダリングを行っています。チャンクごとに 1 つの VBO を実装すると、カメラを移動するたびにその VBO を更新する必要があります (視錐台を更新するため)。これでパフォーマンスに影響はありますか?

  2. 各 VBO のサイズを動的に変更できますか? それとも、それぞれを可能な限り最大のサイズ (オブジェクトで完全に満たされたチャンク) にする必要がありますか?

  3. 訪問した各チャンクをメモリに保持する必要がありますか、それともその VBO を効率的に削除し、必要に応じて再作成できますか。

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

java - OpenGL (lwjgl) で使用する行列演算用の単純な Java 数学ライブラリを提案する

私はJavaでOpenGLアプリを書いています。カメラとフラスタム カリング (AABB の場合) の計算を行う必要があります。そのためのシンプルで高速な Java 数学ライブラリを提案できますか?

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

collision-detection - 粒子系のどの粒子が円錐台にあるかを知る方法

Three.js と webGLrender を使用してホッケー スタジアムと座席 (80k パーティクル) を表示しています。各座席でピッキングできるようにしたいと考えています。レイ インターセプトを使用する隠しオブジェクトを作成しようとしましたが、80k オブジェクトではすべてが遅くなりすぎます。したがって、ズームが十分に近く、座席のセットのみが表示されている場合にのみ、オブジェクトを作成するのが最善の方法だと思います。問題は、粒子システムのどの粒子 (頂点) が錐台の内側に落ちているかを検出する方法がよくわからないことです。

アイデアやサンプルはありますか?

前もって感謝します!

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

3d - バウンディング ボックスが非常に大きい場合のフラスタム カリング

見る

バウンディング ボックスの 8 つの頂点すべてが錐台の外側にある場合、レンダリングされません。しかし、上記のように sth が発生した場合。そのオブジェクトは表示リストにあるはずです。何か案が?

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

android - Android の OpenGL ES 2.0 での frustumM / setLookAtM

OpenGL ES 2.0 チュートリアルをベースとして、Android プラットフォームで OpenGL をいじっています。問題のコードは次のとおりです。

特に、frustumM への「far」パラメーター。そのパラメータが 10 のときはいつでも、イメージ (三角形) は表示されません。それ以外の値は問題ありません。なんで?

私はかなりの量の読書をしましたが、すべて役に立ちませんでした。私の友人 (別名 Google) でさえ、私を助けることができませんでした。

前もって感謝します。

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

opengl - glOrtho 平行六面体を回転させるにはどうすればよいですか?

私は自分の世界をレンダリングしました。いくつかの特定の要件に基づいて、(しばらくの間) 床にいくつかのライトが含まれています。三角形のプリミティブを使用してこれらのライトをレンダリングしています。現在、レンダリング領域をズームして制限する次のコードがあります。

この画像でわかるように、ファー プレーンは線 (B と D の間の円の線に平行) を通して光を切断しています。

ここに画像の説明を入力

シーンを回転すると問題が発生します... glOrtho「ボックス」は修正されたままです。ライトのカットラインを常に見ることで気づくことができます。B と D の間の線と平行ではなくなりました...

ここに画像の説明を入力

私の友人の 1 人がこのドキュメントを提案してくれました。基本的には、錐台面を抽出する方法を説明しています...

しかし、これは、各プリミティブが内部にあるかどうかを手動で確認する必要があることを意味します..

glOrtho 呼び出しを使用する方法はありますか?

私はこのようなものを取得したいと思います:

ここに画像の説明を入力