public TerrainQuadTree(TerrainQuadTree *parent, int parentLodLevel, TerrainQuadTreeSettings *setting, LocalPos sonPos, int2 parentPos, int2 rootPosition) { this.setting = setting; this.rootPosition = rootPosition; isRendering = false; lodLevel = parentLodLevel + 1; this.parent = parent; leftDown = null; leftUp = null; rightDown = null; rightUp = null; localPosition = parentPos * 2; switch (sonPos) { case LocalPos.LeftUp: localPosition += int2(0, 1); break; case LocalPos.RightDown: localPosition += int2(1, 0); break; case LocalPos.RightUp: localPosition += 1; break; } }
void PaintMask(MTerrain terrain, TerrainQuadTree *treeNodePtr, int texIndex, int disp) { terrainEditShader.SetTexture(1, ShaderIDs._DestTex, terrain.maskVT.GetTexture(0)); terrainEditShader.SetFloat("_TargetValue", saturate((float)((value + 0.1) / (terrain.terrainData.allMaterials.Length - 1)))); terrainEditShader.Dispatch(1, disp, disp, 1); }