Esempio n. 1
0
        void updateTemperature()
        {
            Renderer.device.pushDebugMarker("Update Heat");

            Fractal f = myHeatGenerator.findModule("fractal") as Fractal;

            f.seed       = heat.seed;
            f.octaves    = heat.octaves;
            f.frequency  = heat.frequency;
            f.offset     = heat.offset;
            f.lacunarity = heat.lacunarity;
            f.gain       = heat.gain;
            f.H          = heat.H;

            Gradient g = myHeatGenerator.findModule("south gradient") as Gradient;

            g.x0 = heat.sx0;
            g.x1 = heat.sx1;
            g.y0 = heat.sy0;
            g.y1 = heat.sy1;

            g    = myHeatGenerator.findModule("north gradient") as Gradient;
            g.x0 = heat.nx0;
            g.x1 = heat.nx1;
            g.y0 = heat.ny0;
            g.y1 = heat.ny1;

            myHeatGenerator.update(true);
            Renderer.device.popDebugMarker();
        }
Esempio n. 2
0
        void updateMoisture()
        {
            Renderer.device.pushDebugMarker("Update Moisture");

            myMoistureGenerator.update();
            Renderer.device.popDebugMarker();
        }
Esempio n. 3
0
 void updateElevation()
 {
     Renderer.device.pushDebugMarker("Update Elevation");
     //update the elevation height map
     myElevationGenerator.update();
     Renderer.device.popDebugMarker();
 }
Esempio n. 4
0
        public void update()
        {
            bool elvChanged   = myElevationGenerator.update();
            bool heatChanged  = myHeatGenerator.update();
            bool moistChanged = myMoistureGenerator.update();

            if (elvChanged || heatChanged || moistChanged)
            {
                Info.print("Updating Biome Map");
                Renderer.device.pushDebugMarker("Update Biomes");

                ComputeCommand cmd;

                String m2 = "Apply Elevation";
                GL.PushDebugGroup(DebugSourceExternal.DebugSourceApplication, 0, m2.Length, m2);
                cmd = new ComputeCommand(myApplyElevationShader, myBiome.width / 32, myBiome.height / 32);
                cmd.addImage(myElevationGenerator.output.output, TextureAccess.ReadOnly, 0);
                cmd.addImage(myBiome, TextureAccess.WriteOnly, 1);
                cmd.execute();
                GL.MemoryBarrier(MemoryBarrierFlags.AllBarrierBits);
                GL.PopDebugGroup();

                String m3 = "Apply Heat";
                GL.PushDebugGroup(DebugSourceExternal.DebugSourceApplication, 0, m3.Length, m3);
                cmd = new ComputeCommand(myApplyHeatShader, myBiome.width / 32, myBiome.height / 32);
                cmd.addImage(myHeatGenerator.output.output, TextureAccess.ReadOnly, 0);
                cmd.addImage(myBiome, TextureAccess.ReadWrite, 1);
                cmd.execute();
                GL.MemoryBarrier(MemoryBarrierFlags.AllBarrierBits);
                GL.PopDebugGroup();

                String m4 = "Apply Moisture";
                GL.PushDebugGroup(DebugSourceExternal.DebugSourceApplication, 0, m4.Length, m4);
                cmd = new ComputeCommand(myApplyMoistureShader, myBiome.width / 32, myBiome.height / 32);
                cmd.addImage(myMoistureGenerator.output.output, TextureAccess.ReadOnly, 0);
                cmd.addImage(myBiome, TextureAccess.ReadWrite, 1);
                cmd.execute();
                GL.MemoryBarrier(MemoryBarrierFlags.AllBarrierBits);
                GL.PopDebugGroup();

                String m5 = "Apply Biome";
                GL.PushDebugGroup(DebugSourceExternal.DebugSourceApplication, 0, m5.Length, m5);
                cmd = new ComputeCommand(myGenerateBiomeShader, myBiome.width / 32, myBiome.height / 32);
                cmd.addImage(myBiome, TextureAccess.ReadWrite, 0);
                cmd.execute();
                GL.MemoryBarrier(MemoryBarrierFlags.AllBarrierBits);
                GL.PopDebugGroup();

                Renderer.device.popDebugMarker();

                mySampler.updateData();
            }
        }
Esempio n. 5
0
        void updateMoisture()
        {
            Renderer.device.pushDebugMarker("Update Moisture");

            Fractal f = myMoistureGenerator.findModule("fractal") as Fractal;

            f.seed       = moisture.seed;
            f.octaves    = moisture.octaves;
            f.frequency  = moisture.frequency;
            f.offset     = moisture.offset;
            f.lacunarity = moisture.lacunarity;
            f.gain       = moisture.gain;
            f.H          = moisture.H;

            myMoistureGenerator.update();
            Renderer.device.popDebugMarker();
        }
Esempio n. 6
0
 void updateTemperature()
 {
     Renderer.device.pushDebugMarker("Update Heat");
     myHeatGenerator.update();
     Renderer.device.popDebugMarker();
 }