2016-12-08 5 views
1

私はSCNGeometryElementオブジェクトを含むシーンを描画しています。 (それは地形です。私はグリッドアイテムごとに2つの三角形を持っています) 最適化するために、私は三角形プリミティブをTriangleStripで置き換えることにしました。SceneKit SCNGeometryElement TriangleStripと三角形

C D 
A B 

私のインデックスの配列は私が働くので、A、C、BとD のインデックスが含まれています は、しかし、それは

私の頂点配列は、4点の連続である私に同じ結果を与えるものではありませんTriangleStrip、シーンキットはACBとCBDの三角形を描画することになっています。それはリンゴの文書で言われていることです。

私はprimitivecountに何を入れるべきだろうと思っています。私はいくつかのことを試しました。それはレンダリングを変更するが、私は単純な三角形で前と同じ結果を取得することはできません...

何か考えていますか? primitiveCountindexCount - 2に等しくなければならない三角形ストリップについて

おかげ

答えて

2
let element = SCNGeometryElement(data: buffer_indices , primitiveType: .TriangleStrip, primitiveCount: Int(points_count), bytesPerIndex: sizeof(CInt)) 

また、スウィフトフレンドリーなSCNGeometryElement(indices:primitiveType:)this postも参照)を使用することができます。

+0

Apple公式のマニュアルindexCount -2にはどこがありますか?ありがとう – Bob5421

+2

それはドキュメントにないかもしれませんが、OpenGL、Metal、および他のライブラリでも同じように動作します。 1枚の紙を取り、3つのインデックスを持つ三角形のストリップを描くと、1つの三角形になります。 1つのインデックスを追加すると、追加の三角形が1つ追加されます。 'n '個のインデックスを追加すると、追加の三角形がn個あります。したがって、この式は簡単に検証されます。 – mnuages