1

私は今、本当にばかげていると思いますが、これを行うための本当に良い方法を考えることができないようです:

基本的に、DirectX で大量のキューブを作成し、VertexPositionColor を使用してデータを保存しています。キューブを効率的に格納するために、キューブごとに 8 つのポイントを格納しています。ただし、前面の法線が (0, 0, 1) のようなもので、背面の法線が (0, 0, -1) になるように、各面の法線を反対方向に向けたいと考えています。

私の問題は、これを 8 ポイントの立方体のみから効率的に行う方法を考え出すことです。24 ポイントの立方体表現を使用して簡単に実行できることはわかっていますが、これはメモリの観点から見ると効率が悪いようです。

どうすればこれを行うことができますか?できればシェーダーまたは効率的な何かで?

ありがとう

4

2 に答える 2

0

インデックスを使用してメモリを節約できます。これは、各側で 8x4 float + 4*6 int になり、96*4 バイトではなく 56*4 バイトになりますが、いくつかのポイントが共有されていない限り、これですべてです。キューブの間。

于 2013-07-03T21:51:25.723 に答える