問題タブ [raycasting]

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 に答える
195 参照

java - Javaで浮動小数点数を固定小数点数に変換するとどうなりますか(具体的にはjava me)

Java meプログラムをできるだけ効率的に実行したいと考えています。私の目標は、レイ キャストを作成することであり、ボクセルをトラバースする最良の方法を知りたいと考えています。浮動小数点数の変換と比較は非常に CPU を集中的に使用すると聞きました。そこで、各光線 x と y に特定の距離を追加し、残りを切り捨て、それらの座標を使用してボクセルの octree をチェックしない理由を考えました。基本的に、 Java meプログラムに対してこのようなことを行うためのより良い方法はありますか?

浮動小数点数を切り捨てますか?

0 投票する
7 に答える
5163 参照

mysql - レイキャスティングアルゴリズムのMySQL実装?

グーグルマップ上の緯度/経度の値とポリゴンのポイントインポリゴンの迅速でかなり正確な方法を理解する必要があります。いくつかの調査の後-mysqlの幾何学的拡張に関するいくつかの投稿に出くわし、それも実装しました-

ただし、これは、多数のポイントで構成されるポリゴンでは機能しませんでした:(

さらに調査した後、レイキャスティングアルゴリズムと呼ばれる標準アルゴリズムに出くわしましたが、MySQLでそのクエリを開発する前に、誰かがすでにそれを経験しているか、実装方法を示す便利なリンクに出くわした場合は、チャンスをつかみたいと思いましたMySQL/SQLサーバーのアルゴリズム。

だから、それを短くする-質問は:

誰かがレイキャスティングアルゴリズムのMySQL/SQLサーバー実装を提供できますか?

追加の詳細:

  • ポリゴンは、凹面、凸面、または複雑のいずれかです。
  • 100%以上の精度で迅速な実行を目標としています。
0 投票する
6 に答える
21694 参照

c++ - ボクセル...正直なところ、どこから始めればよいかを知る必要があります

さて、ボクセルは基本的にピクセルのボリュームバージョンであることを理解しています。

その後、何を探すべきかわからない。

グーグルにはチュートリアルが表示されません。どこにも本が見つかりません。ボクセルが実際に何であるかという基本的な考え方に関係することすら何も見つかりません。

私はC++ライブラリの多くを知っており、OpenGLの基本を理解しています。

誰かが私を正しい方向に向けることができますか?

編集:私はそれらを実装する方法について混乱していると思いますか?大変申し訳ありませんが、簡単に相関できるものが見つからないだけです...実際にデータを格納できるベクトルに関連するボクセルを想像していたと思います。

ボクセルは任意の3D形状として表すことができますか?たとえば、形状を円柱にしたいとします。これは可能ですか、それとも立方体のようにリンクする必要がありますか?

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

opengl - OpenGL 水の屈折

水の波と屈折を使用して OpenGL アプリケーションを作成しようとしています。太陽から光線を放ち、次にカメラから光線を放ち、それらが交差する場所を特定するか、海底から開始して、どの方向に進む必要があるかを特定する必要があります。太陽またはカメラ。私はちょっと立ち往生しています.誰かがOpenGLレイキャスティングまたは高度なジオメトリのクラッシュコースのインポイントを教えてくれますか? 海底を一定の深さにしたくないし、水の波を単純な正弦波にしたくありません。

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

c++ - シンプルでオープンソースのC++のレイキャスティングライブラリはありますか?

シーンモデル(この場合は地形モデル)に光線をキャストして、シーンの交点を返すことができるライブラリを探しています。それは超効率的である必要はありません(私はむしろそれが超非効率的ではないことを望みますが)。理想的には、他のライブラリ(OpenGLなど)に依存しないでしょう。必要な機能だけを備えたものを本当に探しています。

誰か提案はありますか?

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

3d - DoomとQuakeの3Dレンダリングの違い

私は過去数週間(古い)3Dレンダリング技術を研究してきましたが、Doomでの3Dレンダリングがどのように機能するかを正しく理解できたと思います。レイキャスティングを使用して3Dシーンをレンダリングし、オブジェクトにスプライトを使用するため、「真の」3Dではありません。また、Yせん断によってのみ、実際のルックアップ/ダウンはできません。

QuakeはIDの最初の「真の」3Dエンジンであり、さまざまな角度から表示できるオブジェクトがあり、上下を見ることができます。

これらのテクニックを研究するとき、今ではこの「真の」3Dをよく耳にしますが、この真の3Dが何を意味するのかを明確に説明することはできません。QuakeレンダリングはDoomレンダリングとどう違うのですか?

Quakeの世界は3D頂点を使用していますか?交差点のレイキャスティングの代わりにそれらはすべて投影されていますか?

違いの明確な説明を聞きたいです!

PS Quakeのソースコードが利用可能であることは知っていますが、id softwareのFTPが数週間ダウンしていて、他のどこにも見つかりません。誰かがそれを他の場所で見つける場所を知っているなら、私に知らせてください。

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

optimization - レイ コヒーレンスを使用してレイトレーシングの速度を向上させながらリアルな外観を維持するにはどうすればよいですか?

ソフトウェアのピクセル単位のリアルタイム レイキャスターでレイ コヒーレンスを利用することを検討しています。

AFAICT、均一なグリッドを使用して、たとえば 4x4 ピクセルのパッチにレイ コヒーレンスを割り当てた場合 (現在、ピクセルごとに 1 つのレイキャストがあります)、開始点 (および終了点) が異なる 16 個の平行光線が与えられた場合、これはどのように機能しますか?一貫したシーン?私が予測することは次のとおりです。

  1. 隣接する/類似する光線の光線の進行がまったく同じになる距離があります。その距離内で、処理を節約しています。(その距離はどのように知ることができますか?)
  2. 一部の光線が適切なタイミングで発散しなかったという事実により、最終的にはわずかに、または非常に不正確な画像になります。

光線が平面ではなく単一の点から投射されることを考えると、すべての光線のセットが外側に移動するときにツリーを形成するように、移動距離に応じてある種の分割関数が必要になると思います。ここでの私の懸念は、視聴者に近づくと細かいディテールが失われることです。

これがどのように使用されることを意図しているかを理解していないだけだと思います。

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

python - パスをポリゴンに変換

Pythonを使用してポイントがSVGパスにあるかどうかを把握しようとしています。
使用するアルゴリズムはレイキャスティングアルゴリズムです。

しかし、このアルゴリズムでは、ポリゴンの辺が必要ですが、私が持っているのはsvgパスのパスデータだけです。

これはこの画像に対応します:

SVGパスの例

それで、パスの側面を取得する方法はありますか?

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

caching - 確率的レイトレーシングは本質的にキャッシュに適していませんか?

特に、ビューの更新が頻繁に行われるリアルタイムレイトレーサーのコンテキストでは?

明白な答えは「はい」のように思われますが、モンテカルロ法の有用性を考えると、それを加速する方法が見つかったのではないかと思います。

0 投票する
0 に答える
1242 参照

android - RaycastingとOpenGL-ES2.0-AndroidのDoomのようなゲームに顕著な違いはありますか?

これが私の最初の質問です。いつものようにグーグルで検索しました。ラウンド2はSOで直接検索していましたが、それでも正確な答えを得ることができませんでした。

将来Androidプラットフォーム用に作りたいゲーム用の3Dグラフィックスエンジンを書きます。私は最近、高校の休憩時間に携帯電話でDoomをプレイしました。地獄の男爵に殺された後、頭を上げると、20人以上が私がプレイしているのを見るのに苦労し、続いて大声で「AAAAAAAW!」彼らが私が死んでいるのを見たとき。あごが床に落ちました。1993年からのゲームだとは誰も疑っていませんでした。

しかし、要点に戻りましょう。「自分で見つけて」と書きたい場合は、今すぐ入力をやめることができます。さまざまな理由で、これを自分で確認することはできません。最初は、エンジンをテストできる中価格のデバイス(HTC Wildfire)を1つしか所有していません。2番目のそしてより重要な理由は時間です。OpenGL-ES 2.0グラフィックエンジン全体を作成する時間がなく、Wildfireで実行することさえできないことに気づきました。または、歩くと1FPS前後になります。

レイキャスティングをより現実的にするために、計算はほとんど必要ありません。これは、頂点とインデックスを設定するだけなので、OpenGLでは重要ではありません。Doomレベルの設計方法は気に入っていますが、頭を上下に動かして(X軸を回転させて)周りを見回してより正確に撮影する機能を追加したかったので、レイキャスティングの計算の複雑さが増しています(私にとってはそうではありません)。 、CPUの場合)。WildfireにはGPUがなく、PERFORMANCEガバナーでCPUを@ 748にオーバークロックしても、OGLに基づくもの(2Dでも)は地獄のように遅れていることを知っています(より高い値でオフになり、過熱を防ぐためのCasemate)。しかし、Doomは@ 448にアンダークロックしても、遅れることなく完全に実行されています。これは、低解像度のテクスチャと複雑でないレベルのためだけですか、それともレイキャスティングのためですか?

そして、レイキャスティングエンジンのような古いものに戻って炎上しないでください。実際のモバイルデバイス、またはスマートフォン(好きなように呼んでください)は、1,000ドルもかからず、18年前のコンピューター(Doomリリース)の段階にあります。そのようなデバイスのグループは常に存在します。そして、これで10億ドルを稼がなくても、旅行で何か遊ぶことができます。

私はこのようなゲームのためのいくつかのかなり良いアイデアを持っています、そしてそれらは単純な論理ゲームよりも壮観なものを持っていないので、私は低コストのデバイスをヒットしたいと思います。これが私の最初の質問なので、私が間違って書いたもの、不十分なもの、または単に悪いものを訂正してください-私はそれを書き直します。