目前我正在使用下面的代码创建线段(线条原语.Line)
line = SCNGeometry(sources: [source], elements: [element])
我需要支持线宽,我不能使用gllinewidth,因为它会将线宽应用于所有线段,每个线段(对象)具有不同的线宽。所以我想到了使用openGL的自定义绘图,因为scenekit提供了一种使用下面代码自定义绘图的方法。
extension MarkupViewController: SCNNodeRendererDelegate {
func renderNode(_ node: SCNNode, renderer: SCNRenderer, arguments: [String : Any]) {
}
}
我几乎花了一天时间弄清楚如何在renderNode方法中使用OpenGL命令。但无论我做什么都不能在我的节点上画任何东西。 是否有任何示例代码在renderNode方法中绘制一条线或任何内容。
答案 0 :(得分:0)
纯SceneKit解决方案怎么样?
如果您使用瘦的SCNPlane或SCNCylinder或SCNBox,您可以控制连接器的宽度。
如果使用SCNCylinder,请考虑降低段数。高分辨率将不可见。