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); } }
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); } }