SceneKit SCNGeometryElement TriangleStrip 与三角形
SceneKit SCNGeometryElement TriangleStrip vs triangles
我绘制了一个包含 SCNGeometryElement 对象的场景。 (这是一个地形。每个网格项有 2 个三角形)
为了优化,我决定用 TriangleStrip 替换我的三角形图元。
但它并没有给我相同的结果
我的顶点数组是连续的4个点:
C D
A B
我的索引数组包含 A、C、B 和 D 的索引
所以当我使用 TriangleStrip 时,场景工具包应该绘制 ACB 和 CBD 三角形。这就是苹果文档中所说的。
我想知道我应该在 primitivecount 中输入什么。我尝试了几件事。它改变了渲染,但我无法检索到我以前使用简单三角形得到的相同结果...
有什么想法吗?
谢谢
let element = SCNGeometryElement(data: buffer_indices , primitiveType: .TriangleStrip, primitiveCount: Int(points_count), bytesPerIndex: sizeof(CInt))
对于三角形条带,primitiveCount
应等于 indexCount - 2
。
或者您可以使用 Swift 友好的 SCNGeometryElement(indices:primitiveType:)
(see also )。
我绘制了一个包含 SCNGeometryElement 对象的场景。 (这是一个地形。每个网格项有 2 个三角形) 为了优化,我决定用 TriangleStrip 替换我的三角形图元。 但它并没有给我相同的结果
我的顶点数组是连续的4个点:
C D
A B
我的索引数组包含 A、C、B 和 D 的索引 所以当我使用 TriangleStrip 时,场景工具包应该绘制 ACB 和 CBD 三角形。这就是苹果文档中所说的。
我想知道我应该在 primitivecount 中输入什么。我尝试了几件事。它改变了渲染,但我无法检索到我以前使用简单三角形得到的相同结果...
有什么想法吗?
谢谢
let element = SCNGeometryElement(data: buffer_indices , primitiveType: .TriangleStrip, primitiveCount: Int(points_count), bytesPerIndex: sizeof(CInt))
对于三角形条带,primitiveCount
应等于 indexCount - 2
。
或者您可以使用 Swift 友好的 SCNGeometryElement(indices:primitiveType:)
(see also