Esempio n. 1
0
 MainUI()
 {
     RendererFactory.GetInstance().Tick += new TickHandler(MainUI_Tick);
     Application.Init();
     uiwindow = new MainUIWindow();
     Application.RunIteration(false);
 }
Esempio n. 2
0
        void GetDimensions()
        {
            Terrain terrain = Terrain.GetInstance();

            windowwidth  = RendererFactory.GetInstance().InnerWindowWidth;
            windowheight = RendererFactory.GetInstance().InnerWindowHeight;

            mapwidth  = terrain.MapWidth;
            mapheight = terrain.MapHeight;

            double mapheightwidthratio = terrain.MapHeight / terrain.MapWidth;

            minimapwidth  = 0;
            minimapheight = 0;
            if (mapheightwidthratio > 1)
            {
                minimapheight = minimapsize;
                minimapwidth  = (int)(minimapsize / mapheightwidthratio);
            }
            else
            {
                minimapwidth  = minimapsize;
                minimapheight = (int)(minimapsize * mapheightwidthratio);
            }
        }
Esempio n. 3
0
 void Quit(string command, bool down)
 {
     if (down)
     {
         RendererFactory.GetInstance().Shutdown();
     }
 }
Esempio n. 4
0
        public Camera()
        {
            RendererFactory.GetInstance().PreDrawEvent  += new PreDrawCallback(renderer_PreDrawEvent);
            IMouseFilterMouseCache mousefiltermousecache = MouseFilterMouseCacheFactory.GetInstance();

            mousemove = MouseMoveConfigMappings.GetInstance();
            config    = Config.GetInstance();

            KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand(OverheadOTAConfigName, new KeyCommandHandler(CameraModeOverheadTAHandler));
            KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand(OverheadOTAOrbitConfigName, new KeyCommandHandler(CameraModeOverheadTAHandlerOrbit));

            /*
             * KeyFilterComboKeys.GetInstance().RegisterCombo(
             *  new string[]{"cameramode"}, null, new KeyComboHandler( CameraModeZoomHandler ) );
             * KeyFilterComboKeys.GetInstance().RegisterCombo(
             *  new string[]{"cameramode","cameraorbit"}, null, new KeyComboHandler( CameraModeOrbitHandler ) );
             * KeyFilterComboKeys.GetInstance().RegisterCombo(
             *  new string[]{"cameramode","camerapan"}, null, new KeyComboHandler( CamerModePanHandler ) );
             */

            KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand("toggleviewpoint", new KeyCommandHandler(ToggleViewpointHandler));

            //mousefiltermousecache.MouseDown += new MouseEventHandler( MouseDown );
            mousefiltermousecache.MouseMove += new MouseMoveHandler(mousefiltermousecache_MouseMove);
            //mousefiltermousecache.MouseUp += new MouseEventHandler( MouseUp );
            UpdateRoamingCameraRotAndPosFromOverheadOTA();
        }
Esempio n. 5
0
        void SetupFrustrum()
        {
            //Console.WriteLine("setup frustrum");

            camerapos = Camera.GetInstance().RoamingCameraPos;
            camerarot = Camera.GetInstance().RoamingCameraRot;
            Rot inversecamerarot = camerarot.Inverse();

            viewray = -mvMath.YAxis * inversecamerarot;
            viewray.Normalize();
            right = mvMath.XAxis * inversecamerarot;
            up    = mvMath.ZAxis * inversecamerarot;
            right.Normalize();
            up.Normalize();

            double nearclip = RendererFactory.GetInstance().NearClip;
            double farclip  = RendererFactory.GetInstance().FarClip;

            VNear = 2 * Math.Tan(RendererFactory.GetInstance().FieldOfView / 2 * Math.PI / 180) * nearclip;
            VFar  = VNear * farclip / nearclip;
            HNear = VNear * (double)RendererFactory.GetInstance().WindowWidth / RendererFactory.GetInstance().WindowHeight;
            HFar  = HNear * farclip / nearclip;

            fc  = camerapos + viewray * farclip;
            ftl = fc + (up * VFar / 2) - (right * HFar / 2);
            ftr = fc + (up * VFar / 2) + (right * HFar / 2);
            fbl = fc - (up * VFar / 2) - (right * HFar / 2);
            fbr = fc - (up * VFar / 2) + (right * HFar / 2);

            nc = camerapos + viewray * nearclip;

            ntl = nc + (up * VNear / 2) - (right * HNear / 2);
            ntr = nc + (up * VNear / 2) + (right * HNear / 2);
            nbl = nc - (up * VNear / 2) - (right * HNear / 2);
            nbr = nc - (up * VNear / 2) + (right * HNear / 2);

            // note: all normals point outwards
            planes[0] = new Plane(-viewray, nc);
            planes[1] = new Plane(viewray, fc);

            Vector3 vectoralongplane;
            Vector3 normal;

            vectoralongplane = (ntr - camerapos).Normalize();
            normal           = (up * vectoralongplane).Normalize();
            planes[2]        = new Plane(normal, camerapos);

            vectoralongplane = (nbr - camerapos).Normalize();
            normal           = (right * vectoralongplane).Normalize();
            planes[3]        = new Plane(normal, camerapos);

            vectoralongplane = (nbl - camerapos).Normalize();
            normal           = -(up * vectoralongplane).Normalize();
            planes[4]        = new Plane(normal, camerapos);

            vectoralongplane = (ntl - camerapos).Normalize();
            normal           = -(right * vectoralongplane).Normalize();
            planes[5]        = new Plane(normal, camerapos);
        }
Esempio n. 6
0
        KeyFilterSdlKeyCache()
        {
            Diag.Debug("Instantiating KeyFilterFormsKeyCache()");
            IRenderer renderer = RendererFactory.GetInstance();

            renderer.KeyDown += new SdlDotNet.KeyboardEventHandler(renderer_KeyDown);
            renderer.KeyUp   += new SdlDotNet.KeyboardEventHandler(renderer_KeyUp);
        }
Esempio n. 7
0
        public void Go()
        {
            IRenderer renderer = RendererFactory.GetInstance();

            renderer.Init();
            PluginsLoader.GetInstance();
            renderer.StartMainLoop();
        }
Esempio n. 8
0
        public MouseFilterSdlMouseCache()
        {
            IRenderer renderer = RendererFactory.GetInstance();

            renderer.MouseMotion += new MouseMotionEventHandler(renderer_MouseMotion);
            renderer.MouseDown   += new MouseButtonEventHandler(renderer_MouseDown);
            renderer.MouseUp     += new MouseButtonEventHandler(renderer_MouseUp);
        }
Esempio n. 9
0
 public RenderableAllFeatures(Terrain parent)
 {
     this.parent = parent;
     RendererFactory.GetInstance().WriteNextFrameEvent += new WriteNextFrameCallback(RenderableAllFeatures_WriteNextFrameEvent);
     parent.TerrainModified += new Terrain.TerrainModifiedHandler(parent_TerrainModified);
     parent.FeatureAdded    += new Terrain.FeatureAddedHandler(parent_FeatureAdded);
     parent.FeatureRemoved  += new Terrain.FeatureRemovedHandler(parent_FeatureRemoved);
 }
Esempio n. 10
0
        HeightEditor() // protected constructor to enforce singleton pattern
        {
            KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand("increaseheight", new KeyCommandHandler(handler_IncreaseHeight));
            KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand("decreaseheight", new KeyCommandHandler(handler_DecreaseHeight));
            RendererFactory.GetInstance().Tick += new TickHandler(renderer_Tick);
            brushsize = Config.GetInstance().HeightEditingDefaultBrushSize;
            speed     = Config.GetInstance().HeightEditingSpeed;

            UICommandQueue.GetInstance().RegisterConsumer(typeof(UICommandChangeBrushSize), new UICommandQueue.UICommandHandler(ChangeBrushSize));
            UICommandQueue.GetInstance().RegisterConsumer(typeof(UICommandBrushEffect), new UICommandQueue.UICommandHandler(ChangeBrushEffect));
        }
Esempio n. 11
0
        //! Feedback line buffer for OpenGL feedback, used by mvgraphics.cpp

        /*
         * class FeedbackLineBufferItem
         * {
         *  public double type;
         *  public Vector2[] vertices = new Vector2[2];
         * }
         */

        public Vector3 GetMouseVector(Vector3 OurPos, Rot OurRot, int mousex, int mousey)
        {
            IRenderer renderer = RendererFactory.GetInstance();

            Vector3 MouseVectorObserverAxes = new Vector3(-renderer.WindowWidth / 2 + mousex, -renderer.ScreenDistanceScreenCoords, renderer.WindowHeight / 2 - mousey);

            //Console.WriteLine("MouseVectorObserverAxes: " + MouseVectorObserverAxes);
            MouseVectorObserverAxes.Normalize();
            //Console.WriteLine("MouseVectorObserverAxes (normalized): " + MouseVectorObserverAxes);
            Vector3 MouseVectorWorldAxes = MouseVectorObserverAxes * OurRot.Inverse();

            //Console.WriteLine("MouseVectorWorldAxes: " + MouseVectorWorldAxes.ToString());
            MouseVectorWorldAxes.Normalize();
            return(MouseVectorWorldAxes);
        }
Esempio n. 12
0
 // pass a pointer to a heightmap
 // when rendered, x pos will be multiplied by xscale, and y points by yscale
 public RenderableHeightMap(Terrain parent, double[,] heightmap, int xscale, int yscale, List <MapTextureStage> maptexturestages)
 {
     this.parent           = parent;
     this.heightmap        = heightmap;
     width                 = heightmap.GetLength(0) - 1;
     height                = heightmap.GetLength(1) - 1;
     this.xscale           = xscale;
     this.yscale           = yscale;
     this.maptexturestages = maptexturestages;
     CacheChunkTextureStageUsage();
     normalsperquad = new Vector3[width, height];
     terrain_HeightmapInPlaceEdited(0, 0, width - 1, height - 1);
     RendererFactory.GetInstance().WriteNextFrameEvent += new WriteNextFrameCallback(Render);
     parent.HeightmapInPlaceEdited += new Terrain.HeightmapInPlaceEditedHandler(terrain_HeightmapInPlaceEdited);
     parent.TerrainModified        += new Terrain.TerrainModifiedHandler(terrain_TerrainModified);
     parent.BlendmapInPlaceEdited  += new Terrain.BlendmapInPlaceEditedHandler(terrain_BlendmapInPlaceEdited);
 }
Esempio n. 13
0
        public Camera()
        {
            RendererFactory.GetInstance().PreDrawEvent  += new PreDrawCallback(renderer_PreDrawEvent);
            IMouseFilterMouseCache mousefiltermousecache = MouseFilterMouseCacheFactory.GetInstance();

            mousemove = MouseMoveConfigMappings.GetInstance();
            config    = Config.GetInstance();

            KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand(OverheadOTATranslateConfigName, new KeyCommandHandler(CameraModeOverheadTAHandlerTranslate));
            KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand(OverheadOTAOrbitConfigName, new KeyCommandHandler(CameraModeOverheadTAHandlerOrbit));
            KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand(OverheadOTAZoomConfigName, new KeyCommandHandler(CameraModeOverheadTAHandlerZoom));

            KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand("toggleviewpoint", new KeyCommandHandler(ToggleViewpointHandler));

            mousefiltermousecache.MouseMove += new MouseMoveHandler(mousefiltermousecache_MouseMove);
            UpdateRoamingCameraRotAndPosFromOverheadOTA();
        }
Esempio n. 14
0
        public void Go()
        {
            LogFile logfile = LogFile.GetInstance();

            logfile.Init("logfile.txt");
            LogFile.GetInstance().WriteLine("MapDesigner starting " + DateTime.Now.ToString());
            Il.ilInit();
            Ilu.iluInit();
            Ilut.ilutInit();
            Ilut.ilutRenderer(Ilut.ILUT_OPENGL);
            IRenderer renderer = RendererFactory.GetInstance();

            renderer.Init();
            PluginsLoader.GetInstance();

            Terrain.GetInstance().NewMap();

            renderer.StartMainLoop();
        }
Esempio n. 15
0
 public CurrentEditSpot()
 {
     RendererFactory.GetInstance().WriteNextFrameEvent += new WriteNextFrameCallback(CurrentEditSpot_WriteNextFrameEvent);
     Terrain.GetInstance().renderableminimap.Render += new RenderableMinimap.RenderHandler(renderableminimap_Render);
 }
Esempio n. 16
0
 public DrawAxes()
 {
     RendererFactory.GetInstance().WriteNextFrameEvent += new WriteNextFrameCallback(renderer_WriteNextFrameEvent);
 }
Esempio n. 17
0
 public FrustrumCulling()
 {
     // RendererFactory.GetInstance().WriteNextFrameEvent += new WriteNextFrameCallback(FrustrumCulling_WriteNextFrameEvent);
     RendererFactory.GetInstance().PreDrawEvent += new PreDrawCallback(FrustrumCulling_PreDrawEvent);
 }
Esempio n. 18
0
 // init from glthread
 public void InitFromGlThread()
 {
     RendererFactory.GetInstance().Tick += new TickHandler(UICommandQueue_Tick);
 }
Esempio n. 19
0
 public BrushShapeController()
 {
     RendererFactory.GetInstance().WriteNextFrameEvent += new WriteNextFrameCallback(BrushShapeController_WriteNextFrameEvent);
 }
Esempio n. 20
0
 public EditController()
 {
     KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand("increaseheight", new KeyCommandHandler(handler_IncreaseHeight));
     KeyFilterConfigMappingsFactory.GetInstance().RegisterCommand("decreaseheight", new KeyCommandHandler(handler_DecreaseHeight));
     RendererFactory.GetInstance().Tick += new TickHandler(renderer_Tick);
 }
Esempio n. 21
0
 Framerate()
 {
     RendererFactory.GetInstance().Tick += new TickHandler(Framerate_Tick);
 }
Esempio n. 22
0
 public CurrentEditSpot()
 {
     RendererFactory.GetInstance().WriteNextFrameEvent += new WriteNextFrameCallback(CurrentEditSpot_WriteNextFrameEvent);
 }
Esempio n. 23
0
        public DrawGrid()
        {
            IRenderer renderer = RendererFactory.GetInstance();

            renderer.WriteNextFrameEvent += new WriteNextFrameCallback(renderer_WriteNextFrameEvent);
        }
Esempio n. 24
0
 public RenderableWater(Vector3 pos, Vector2 scale)
 {
     this.pos   = pos;
     this.scale = scale;
     RendererFactory.GetInstance().WriteNextFrameEvent += new WriteNextFrameCallback(RenderableWater_WriteNextFrameEvent);
 }