public TrailData(int trailNum, int nodeNum, TrailType trailType) { currentTrailId = -1; currentNodeIdx = -1; type = trailType; var totalNodeNum = trailNum * nodeNum; trailBuffer = new ComputeBuffer(trailNum, Marshal.SizeOf(typeof(Trail))); nodeBuffer = new ComputeBuffer(totalNodeNum, Marshal.SizeOf(typeof(Node))); var initTrail = new Trail(); var initNode = new Node() { time = -1 }; trails = Enumerable.Repeat(initTrail, trailNum).ToArray(); nodes = Enumerable.Repeat(initNode, totalNodeNum).ToArray(); trailBuffer.SetData(trails); nodeBuffer.SetData(nodes); }