Пример #1
0
        void SetupNoiseMapBuilder()
        {
            // Set up noise module tree
            // TranslatePoint is used to shift the generated noise over time
            TimeTranslator = new TranslatePoint
            {
                // Scales the generated noise values down to 80%
                Source0 = new ScaleBias
                {
                    Scale = 0.8,
                    Bias  = 0,
                    // Scale coordinates down to get some rougher structures
                    Source0 = new ScalePoint
                    {
                        // Scale down xz-plane
                        XScale = 0.0375,
                        ZScale = 0.0375,
                        // Scale down "time"
                        YScale  = 0.625,
                        Source0 = new Billow(),
                    },
                },
            };

            // Set up target noise map and noise map builder
            NoiseMap        = new NoiseMap();
            NoiseMapBuilder = new PlaneNoiseMapBuilder
            {
                DestNoiseMap = NoiseMap,
                SourceModule = TimeTranslator,
            };
            NoiseMapBuilder.SetBounds(0, LongitudeBands, 0, LatitudeBands);
            NoiseMapBuilder.SetDestSize(LongitudeBands, LatitudeBands);
        }
Пример #2
0
        public static void CreateTestModuleTree(TestContext context)
        {
            var baseWood = new Cylinders
            {
                Frequency = 16,
            };

            var woodGrainNoise = new Perlin
            {
                Seed        = 2135,
                Frequency   = 48,
                Persistence = 0.5,
                Lacunarity  = 2.20703125,
                OctaveCount = 3,
                Quality     = NoiseQuality.Standard,
            };

            var scaledBaseWoodGrain = new ScalePoint
            {
                Source0 = woodGrainNoise,
                YScale  = 0.25,
            };

            var woodGrain = new ScaleBias
            {
                Source0 = scaledBaseWoodGrain,
                Scale   = 0.25,
                Bias    = 0.125,
            };

            var combinedWood = new Add
            {
                Source0 = baseWood,
                Source1 = woodGrain,
            };

            var perturbedWood = new Turbulence
            {
                Source0   = combinedWood,
                Seed      = 1,
                Frequency = 4,
                Power     = 1.0 / 256.0,
                Roughness = 4,
            };

            var translatedWood = new TranslatePoint
            {
                Source0      = perturbedWood,
                ZTranslation = 1.48,
            };

            var rotatedWood = new RotatePoint
            {
                Source0 = translatedWood,
            };

            rotatedWood.SetAngles(84, 0, 0);

            var finalWood = new Turbulence
            {
                Source0   = rotatedWood,
                Seed      = 2,
                Frequency = 2,
                Power     = 1.0 / 64.0,
                Roughness = 4,
            };

            testModule = finalWood;
        }