Esempio n. 1
0
        private void UpdateVectorTexture()
        {
            Request request = new Request();

            request.X     = _textureOffsetX;
            request.Z     = _textureOffsetZ;
            request.SizeX = CalcTextureWidth();
            request.SizeZ = CalcTextureHeight();
            _lastVectors  = GetPositionSampler().GetVector3List(_inputSocketVec.GetConnectedSocket(), request);

            if (_lastVectors != null)
            {
                // the vector list must be cleaned up here because the basic Vector2Node ignores the request parameter.
                List <UnityEngine.Vector3> removeList = new List <UnityEngine.Vector3>();
                for (int i = 0; i < _lastVectors.Count; i++)
                {
                    UnityEngine.Vector3 v = _lastVectors[i];
                    if (!(v.x >= request.X && v.x < request.X + request.SizeX && v.z >= request.Z && v.z < request.Z + request.SizeZ))
                    {
                        removeList.Add(v);
                    }
                }
                for (int i = 0; i < removeList.Count; i++)
                {
                    _lastVectors.Remove(removeList[i]);
                }

                HeightMapUpdateJob job = new HeightMapUpdateJob();
                job.Request(_textureOffsetX, _textureOffsetZ, CalcTextureWidth(), CalcTextureHeight(), _lastVectors);
                _textures[1].StartTextureUpdateJob(TextureLeft, TextureTop, CalcTextureWidth(), CalcTextureHeight(), job);
            }
        }
Esempio n. 2
0
        private void StartJob(GUIThreadedTexture t)
        {
            HeightMapUpdateJob job = new HeightMapUpdateJob();

            job.Request(_textureOffsetX, _textureOffsetZ, CalcTextureWidth(), CalcTextureHeight(),
                        GetNumberSampler(), _inputSocketNumber.GetConnectedSocket(),
                        GetColorSampler(), _inputSocketColor.GetConnectedSocket());

            t.StartTextureUpdateJob(TextureLeft, TextureTop, CalcTextureWidth(), CalcTextureHeight(), job);
        }
        public override void Update()
        {
            HeightMapUpdateJob job = new HeightMapUpdateJob();

            job.Request(0, 0, 55, 35, this, null);
            if (!Collapsed)
            {
                _textures[0].StartTextureUpdateJob(55, 35, job);
            }
        }