1

私は現在、頂点バッファー内のポリゴンを効率的にレンダリングして、透過性を機能させる方法に頭を悩ませています..

頂点バッファーとインデックス バッファーをセットアップし、glDrawElements レンダリングを実行しました。現在、任意の (オブジェクトが作成された順序で) レンダリングしているため、透明度を除いてすべてがうまく機能します。

後で octree レンダリングを実装しますが、これは全体的な頂点バッファ レンダリング順序 (どの頂点バッファを最初にレンダリングするか) にのみ役立ちますが、頂点バッファ内の順序には役立ちません..

私が考えることができる唯一のことは、カメラの位置を変更するたびにインデックス バッファーを並べ替えることです。これは、vbo ごとに約 65.000 の頂点を格納するため、非常に非効率的です (インデックスに Glushort を使用して、約 1 の最適な vbo サイズを達成します)。 4MB)..

頂点バッファー オブジェクト内の頂点を並べ替えるより良い方法はありますか (または、インデックス バッファー オブジェクト内の対応するインデックスをより適切に表現する方法はありますか)?

4

1 に答える 1

1

それには2つの方法があります(私自身はそれらのいずれも使用していません)

  1. ピーリング (デュアル ピーリング) http://developer.download.nvidia.com/SDK/10/opengl/src/dual_depth_peeling/doc/DualDepthPeeling.pdf

  2. 確率的透明度 http://www.cse.chalmers.se/~d00sint/StochasticTransparency_I3D2010.pdf

back facesまた、オブジェクトが凸状の場合は、最初の描画とfront faces(GL_CULL_FACEシェーダーで正しい照明のために法線を使用および反転する)ことで簡単に実装できます。

于 2013-04-24T14:05:22.863 に答える