示例#1
0
        void InitBuffer()
        {
            int updateID = updateCS.FindKernel(Consts.UPDATE);

            ComputeBuffer windsBuffer = GenerateBuffer <Wind>(_NumWinds, _ => Wind.Create(windParams));

            updateCS.SetBuffer(updateID, Consts.WINDS, windsBuffer);
            windsBuffer.AddTo(this);
            _WindsBuffer.Value = windsBuffer;

            int           numNodesTotal = _NumNodesPerWind * _NumWinds;
            ComputeBuffer nodesBuffer   = GenerateBuffer <Node>(numNodesTotal, i => Node.Create(i % _NumNodesPerWind == 0, area));

            updateCS.SetBuffer(updateID, Consts.NODES, nodesBuffer);
            nodesBuffer.AddTo(this);
            _NodesBuffer.Value = nodesBuffer;
        }