私はopenglを学習し、GL.DrawElements()で使用されるカラー配列、頂点配列、法線配列、およびインデックス配列で構成されるVBOの例を使用しています。構造は次のようになります(ドットは次の要素/アイテムを意味します):
Rgba.Rgba.Rgba.....Xyz.Xyz.Xyz.Xyz....n1n2n3.n1n2n3.n1n2n3.....ijklmn.ijklmn.ijklmn
次のように使用する必要があります。
R.R.R.R.R....g.g.g.g.g......b.b.b.b.b.....a.a.a.a.a.a.....X.X.X.X.X.X....y.y.y.y.y.y..
...z.z.z.z.z.z.......n1.n1.n1.n1.n1.n1......n2.n2.n2.n2.n2.n2.n2......n3.n3.n3.n3.n3...
...i.i.i.i.i.i......j.j.j.j.j.j.j.j......k.k.k.k.k.k.k.k.k
私はopenclカーネルのバッファのデータをcl-gl-interopとして使用しており、最初のタイプの構造はメインメモリアクセスのパフォーマンスを低下させるストライドメモリアクセスを行うため、「x」のみなどの各要素/アイテムの1つのコンポーネントのみを使用しているため「r」のみ。しかし、2 番目のタイプの構造は、すべてのメモリ バンクを均等に使用しており、私のニーズに適合しています。この種の構造は、opengl 描画操作に使用可能/適していますか?