問題タブ [voxel]
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.
voxel - SLAB6の実装を探しています
レイキャスター、特にボクセルモデルのkv6サポートにSLAB6を実装したいと考えています。ただし、Ken SilvermanによるSLAB6ソースは完全に読めない(ほとんどがASM)ので、誰かがkv6モデルをロードするための適切なC / Javaソースを示したり、擬似コードで動作を説明してくれることを期待していました(知りたいので) kv6をサポートする方法、私はそれがどのように機能するかを知っています)。ありがとう、Kaj
編集:実装はJavaで行われます。
javascript - [プリミティブ] ボクセル アルゴリズムからさらに 10 FPS を絞り出すにはどうすればよいですか?
だから、私はこの単純な 4dof ボクセル アルゴリズムを JavaScript で作成しました。私は自分自身を非常に誇りに思っていますが、デバッグするのに十分な時間がなく、数日分の睡眠を失いましたが、実行が比較的遅いことに気付きました。 .
現在、明らかな %-scaling と setInterval ループが速度を低下させていますが、わずか 100 個のボクセルで 20 FPS 未満しか得られず、そのほとんどは画面に表示されていません。
次のコードは申し訳ありませんが、これは私の原始的な小さなゲーム エンジンに適合しているため、独自のページでは実行されませんが、この URL (http://nextgengame.webs.com/fun/sandbox. htm)。
これは、ランドスケープなどを行うにはほとんど不十分であり、少なくとも 10 FPS ブーストを取得したいと考えています。
これは、回転なしでどのように見えるかです:
そして、信じられますか、それはまだほぼ同じ速度で実行されます! 最大で 4 FPS の増加です。
誰かがこれをもっと速く実行する方法を持っていれば、本当に私の一日が楽しくなります.
graphics - ボクセル レンダリングはボリューム レンダリングの一種ですか?
ボリューム レンダリングについて読んでいると、ボクセル レンダリングについてよく言及されています。ボリューム データにはボクセルがあることは知っていますが、この 2 つの用語は交換可能ですか、それともまったく異なるものですか?
javascript - スパース ボクセル オクトリー
まばらなボクセル octrees で動作する最も単純なボクセル レンダリング エンジンを構築できるすべての資料、本を探しています。私はおそらくpythonまたはおそらくjavascriptを使用するので、webGL/openGLはボクセルをサポートしていないため、多くのことをゼロから作成する必要があります。前もって感謝します。
arrays - (ボクセル用の) octree を実際にどのように作成しますか?
octree を作成し、そこからデータを追加および削除するコードを見てきましたが、実際に octree をどのように構築するのでしょうか? ある種の配列に保存してから octree に変換できる 3D ボクセル ソフトウェアはありますか? または、octree に直接保存できますか?
regex - ボクセル空間の正規表現
正規表現を使用して 1 次元の文字列のパターンを大まかに記述できるのと同じ方法で、3D ボクセル グリッドでオブジェクトを大まかに記述する方法はありますか (パターン マッチング有限オートマトンなどを介して)。
高さ 3、幅 5 の「B」または「C」タイプのボクセルで構成された下部ファセットを持つ「A」タイプのボクセルの立方体を記述し、この記述をボクセル フィールドに一致させてパターンの例を見つけたいとします。正確なモデル (Boyer-Moore-in-3D のようなもの) を検索することはできますが、一部のオブジェクトに対して可変寸法を指定する必要があります (前述の立方体の可変長など)。
optimization - ボクセル エンジンと最適化
最近ボクセルエンジンの開発を始めました。私が必要とするのは、テクスチャのないカラフルなボクセルだけですが、非常に大量 (Minecraft よりもはるかに小さい) です。問題は、シーンを非常に高速に描画する方法です。私はc#/xnaを使用していますが、これは私の意見ではあまり重要ではありません。一般的なケースについて話しましょう。次の 2 つのゲームを見てください。
特にビデオ番号 2 は優れた最適化方法を表していると思います (私の gfx カードは 192 x 192 x 64 で窒息し始めます) どうやってこれを達成するのですか?
私がエンジンに持っているもの:
- テクスチャのないカラフルなボクセル
- 多くの、多くのボクセル、ビデオ #2 のようなものを達成するために最小 512 x 512 x 128 と言う
- 影 (滑らかな影は素晴らしいですが、これは必須ではありません)
- オプション: 動的照明 (たとえば、ボクセル構造の近くで光る火の玉が飛んでいる場合)
- フレームレート 最低 40 FPS
- カメラには 3 つの自由度 (x 軸で移動、y 軸で移動、z 軸で移動) があり、カメラの回転は必要ありません。
- 最後に、オプション機能は被写界深度かもしれません (それは甘いでしょう ^^ )
私がすでに知っている最適化:
- ボクセル構造内に存在する目に見えないボクセルを削除します (他のボクセルによって 6 方向が覆われています)。
- ボクセルの見えない面を削除 - カメラには回転がなく、TPP ゲームのように常に斜め前を向いているため、画面を垂直カットで分割すると、左のボクセルと右のボクセルに 3 つの面しか表示されません
- ボクセルを 3 次元配列ではなく Dictionary に保持します - サイズ 512 x 512 x 128 の配列をジャンプするには許容できないミリ秒かかります - しかし、int がパックされた 3D 位置を記述する辞書 int:color ははるかに高速です
- 該当する場合はインスタンス化を使用する
- 閉塞?(これを行う方法?)
- 空間分割 / octtree (それは良い考えですか?)
誰かが上記の既存の最適化を改善する方法を教えてくれたり、新しい改善のアイデアを共有したりできれば、とても感謝しています。ありがとう
algorithm - ボクセルのセットを三角測量する
私はまだこれについて多くの調査を行っていませんが、これが以前に行われた場合に備えて尋ねています.
これが私の問題です:
任意の高さ、幅、深さの立方体のセットがあります。これらは満たされているか空です。私が探しているのは、隣接する立方体の面を 1 つに結合することによって、この立方体のセットに最適なメッシュを作成するアルゴリズムを開発することです。
私の現在のアイデアは、セットを 6 回 (各軸に沿って 2 回、前方に 1 回、後方に 1 回) 通過し、セットを断面で見ることです。外から見えない立方体を無視して、そのセクションの立方体の多角形の面を構築したいと思います。これの最後に、これらの面の (x+y+z)*2 が必要です。それらを組み合わせると、ボクセル セットの最適化されたメッシュが得られます。
しかし、私は三角測量のプロセスに困惑しています。
python - 3D ボクセル データを処理する最良の方法は何ですか?
現時点では、ボクセルを単純なリストに保存しています。([0,0,0,0,0,1,0,0,1 ... ]) リスト内のボクセル位置を取得するには、次の関数を使用します。
しかし、大量のデータを処理する場合、これは非常に遅くなります。たとえば、256*256*256 チャンクの各キューブを反復処理するには 50 秒かかります。
dict を使用した方が速いと思いますが、メモリを使いすぎます。
これら2つの間の妥協点を見つけるのを手伝ってくれませんか?
c++ - ボクセルグラフィックスC++ライブラリを知っていますか?
そこで、C ++ライブラリ(ゲーム指向)を備えたボクセルグラフィックエンジンを探しています。楽しみのために、グラフィックライブラリを使用するのは初めてなので、それほど複雑で強力である必要はなく、理解しやすいだけです。