public void SaveRegionWorldView(IScene scene, string fileName, float fieldOfView)
        {
            m_Generator = scene.RequestModuleInterface <IMapImageGenerator> ();
            if (m_Generator == null)
            {
                return;
            }

            // set some basic defaults
            Vector3 camPos = new Vector3();

            //camPos.Y = scene.RegionInfo.RegionSizeY / 2 - 0.5f;
            //camPos.X = scene.RegionInfo.RegionSizeX / 2 - 0.5f;
            //camPos.Z = 221.7025033688163f);

            camPos.X = 1.25f;
            camPos.Y = 1.25f;
            camPos.Z = 61.0f;

            Vector3 camDir = new Vector3();

            camDir.X = .687462f;                        // -1  -< y/x > 1
            camDir.Y = .687462f;
            camDir.Z = -0.23536f;                       // -1 (up) < Z > (down) 1

            float fov = 89f;                            // degrees

            if (fieldOfView > 0)
            {
                fov = fieldOfView;
            }

            int width  = 1280;
            int height = 720;

            //byte[] jpeg = ExportWorldView(camPos, camDir, fov, width, height, true);
            Bitmap bmp = m_Generator.CreateViewImage(camPos, camDir, fov, width, height, true);

            if (bmp == null)
            {
                return;
            }

            MemoryStream str = new MemoryStream();

            bmp.Save(str, ImageFormat.Jpeg);
            byte [] jpeg = str.ToArray();

            // save image
            var savePath = fileName;

            if (string.IsNullOrEmpty(fileName))
            {
                fileName = scene.RegionInfo.RegionName + ".jpg";
                savePath = PathHelpers.VerifyWriteFile(fileName, ".jpg", simulationBase.DefaultDataPath + "/Worldview", true);
            }
            File.WriteAllBytes(savePath, jpeg);

            bmp.Dispose();
        }
        public byte[] GenerateWorldView(Vector3 pos, Vector3 rot, float fov,
                                        int width, int height, bool usetex)
        {
            if (!m_Enabled)
            {
                return(new Byte[0]);
            }

            Bitmap bmp = m_Generator.CreateViewImage(pos, rot, fov, width, height, usetex);

            MemoryStream str = new MemoryStream();

            bmp.Save(str, ImageFormat.Jpeg);

            return(str.ToArray());
        }
        public void SaveRegionWorldView (IScene scene, string fileName, float fieldOfView)
        {
            m_Generator = scene.RequestModuleInterface<IMapImageGenerator> ();
            if (m_Generator == null)
                return;

            // set some basic defaults
            Vector3 camPos = new Vector3 ();
            //camPos.Y = scene.RegionInfo.RegionSizeY / 2 - 0.5f;
            //camPos.X = scene.RegionInfo.RegionSizeX / 2 - 0.5f;
            //camPos.Z = 221.7025033688163f);

            camPos.X = 1.25f;
            camPos.Y = 1.25f;
            camPos.Z = 61.0f;

            Vector3 camDir = new Vector3 ();
            camDir.X = .687462f;                        // -1  -< y/x > 1
            camDir.Y = .687462f;
            camDir.Z = -0.23536f;                       // -1 (up) < Z > (down) 1

            float fov = 89f;                            // degrees
            if (fieldOfView > 0)
                fov = fieldOfView;

            int width = 1280;
            int height = 720;

            //byte[] jpeg = ExportWorldView(camPos, camDir, fov, width, height, true); 
            Bitmap bmp = m_Generator.CreateViewImage (camPos, camDir, fov, width, height, true);
            if (bmp == null)
                return;

            MemoryStream str = new MemoryStream ();
            bmp.Save (str, ImageFormat.Jpeg);
            byte [] jpeg = str.ToArray ();

            // save image
            var savePath = fileName;
            if (string.IsNullOrEmpty (fileName)) {
                fileName = scene.RegionInfo.RegionName + ".jpg";
                savePath = PathHelpers.VerifyWriteFile (fileName, ".jpg", simulationBase.DefaultDataPath + "/Worldview", true);
            }
            File.WriteAllBytes (savePath, jpeg);

            bmp.Dispose ();
        }