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;
            }
        }
Exemplo n.º 2
0
 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);
 }