コード例 #1
0
        void updateElevation()
        {
            Renderer.device.pushDebugMarker("Update Elevation");

            AutoCorrect ac = myElevationGenerator.findModule("autocorrect") as AutoCorrect;

            ac.reset();

            //generate each face
            for (int i = 0; i < 6; i++)
            {
                myElevationFractals[i].output     = myElevationTex[i];
                myElevationFractals[i].face       = i;
                myElevationFractals[i].seed       = elevation.seed;
                myElevationFractals[i].function   = elevation.function;
                myElevationFractals[i].octaves    = elevation.octaves;
                myElevationFractals[i].frequency  = elevation.frequency;
                myElevationFractals[i].offset     = elevation.offset;
                myElevationFractals[i].lacunarity = elevation.lacunarity;
                myElevationFractals[i].gain       = elevation.gain;
                myElevationFractals[i].H          = elevation.H;
                myElevationFractals[i].update();
            }

            //find the min/max of all the faces together
            ac.findMinMax(myElevationTex);

            //correct all the images with the global min/max
            for (int i = 0; i < 6; i++)
            {
                ac.output = myElevationTex[i];
                ac.correct(myElevationFractals[i].output);
            }

            //update the elevation height map
            myElevationMap.updateFaces(myElevationTex);
            Renderer.device.popDebugMarker();
        }