Adds PolylineNode class, which generates line geometry through a list of positions.
Adds an addPolyline extension to the TerrainNode which converts a CLLocation array into SCNVector3, then generates a polyline through those positions.
Adds metal shader functions, used for rendering the polyline.
Adds SCNProgram extensions to access framework shader functions.
Adds an internal BezierSpline3D class to help with line interpolation.
Updates the PlacementViewController to use the new polyline class.
Updates API error logging to be more verbose.
Issues
.metal shaders aren't compatible with the iOS simulator. This update doesn't block compilation, but polylines won't appear in the simulator. Ideally, we would check the platform and provide a fallback.
Todo
@natalia-osa mentioned a need to avoid terrain intersections along nodes. The addPolyline extension includes a TODO for a later update.
Partially Addresses #20
Changes
PolylineNode
class, which generates line geometry through a list of positions.TerrainNode
which converts aCLLocation
array intoSCNVector3
, then generates a polyline through those positions.BezierSpline3D
class to help with line interpolation.PlacementViewController
to use the new polyline class.Issues
.metal
shaders aren't compatible with the iOS simulator. This update doesn't block compilation, but polylines won't appear in the simulator. Ideally, we would check the platform and provide a fallback.Todo @natalia-osa mentioned a need to avoid terrain intersections along nodes. The
addPolyline
extension includes a TODO for a later update.