問題タブ [buffer-geometry]

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

three.js - Three.js PlaneBufferGeometry がレンダリングされない

planeBufferGeometry をレンダリングできません。何が間違っているのかわかりません。これは、BufferGeometry を使用した最初の試みです。コードを Geometry.Sphere またはその他の Geometry オブジェクトに置き換えると、これはうまく機能します。

カメラ位置

const WIDTH = window.innerWidth; const HEIGHT = window.innerHeight;

ありがとう

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

javascript - javascript を使用した 2 進小数点データの解析

問題

3D 空間内の色付きポイントのグループを記述する API からバイナリ データを受信して​​います。その意図は、ポイントを解析し、それらを Three.js の buffergeometry で使用することです。

バイナリ形式のデータを操作することになると、ここで少し頭を悩ませているので、あなたの助けが必要です.


API からのバイナリ データについて:

バイナリ データは、次の形式のヘッダーで始まります。

ヘッダーの後に空白行が続き、次にこれらのポイントが次の形式で示されます。

32 バイトごと:

  • X: double (8 バイト)
  • Y: double (8 バイト)
  • Z: ダブル (8 バイト)
  • R: unsigned char (1バイト)
  • G: unsigned char (1バイト)
  • B: unsigned char (1バイト)
  • 残りのスペースを埋めるための 5 ガベージ バイト

私がこれまでにいる場所:

binaryPoints変数が API からの生のバイナリ データを保持しているとします私がこれまでに理解しているように、最初にデータを arrayBuffer にバイトサイズ 32 (各ポイントのサイズ) で追加する必要があります。次に、そのバッファーを操作するために DataView オブジェクトに追加します。

なので、まだあまり持っていません。ここでは、オフセットを実装してヘッダーが占めるスペースを考慮する必要があると思います。ヘッダーからポイント数を取得したいと思います。

私が見たいくつかの例とその他の SO の質問から、一度に 32 バイトずつバッファをループして、xyzrgb 値を読み上げる必要があると思います。次のようになります。

……が、正直なところ、ここまで来てしまった情報をどうしたらいいのか分からなかっ。私が見つけたいくつかの例では、ループは 1 種類の情報のみを持つバイナリ データを処理します (私の場合は、X 値しかないかのようになります)。

ポイントの新しいプレーンJavaScript配列を作成し、次のような値を追加する必要があります:

次のステップで Typed Arrays を Three.js bufferGeometries に直接転記する予定であり、[大きな] 余分な単純な JS 配列を保持するとオーバーヘッドが追加されるため、おそらくそうではありません。


次のステップ: ポイントを Three.js bufferGeometry に取得する

Three.js の bufferGeometry のポイントを使用して、ポイント クラウドをレンダリングします。これにより、前の部分から必要な出力が得られることを理解しています。

次のようになります。


これまでのところ、これはすべて非常にルーズなものであることはわかっていますが、暗闇の中で動き回っているだけなので、これをすべて書き留めておくと、考えるのに役立ちます.

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

three.js - THREE.js - BufferGeometry (ObjLoader) の頂点の座標

Three.js は初めてで、2 つの頂点の座標を取得する際に問題があります。サイズを計算して描画するには、x、y、z 座標が必要です。

私は ObjLoader を使用し、頂点の ID (インデックス) を正確に知っています - 11889 と 11877。

BufferGeometry のいくつかのプロパティを使用しようとしましたが、明らかに間違っています。だからここに私がとどまっている簡単なコードがあります。

同様の質問をいくつか読みましたが、私の問題に答えを適応させることができませんでした。座標を取得するにはどうすればよいですか? ありがとう!