How? Render Window in second Monitor in fullscreen


17-07-2008 11:15:59

Is there someone who can helb me...I´m a beginner in Mogre

Before the renderer begins to start to create the Mogre-window I´d like to make some settings like resolution, start in fullscreen and create the Mogre View automatically in my second monitor.

To tell the Mogre-window to start in fullscreen with an specific resolution isn´t a problem (see API: RenderWindow > setFullscreen()), but I don´t found a possibility to tell the window "Please create the window in the second monitor".

How can I tell Mogre to create the render window in an second Device/Monitor/Beamer in fullscreen??


17-07-2008 17:34:55

This question isn't Mogre specific, but OGRE specific, you can have better luck asking in the main forums


17-07-2008 19:33:22

Thats funny

Someone from the Ogre Forum told me to post this message better in the mogre forum...

is there nobody which has done this before????


18-07-2008 03:20:47

Hi I have had a second monitor on one of my old PC's and I have never seen a game or other 3D application that could do this in true full screen.

What are you doing with the first monitor? If your using it for debugging or some non-3D purpose you can probably just swap the monitors in the settings for the Desktop (on Windows)

If you really want to render on 2 monitors at the same time you should be able to create a fake full screen, the idea is to render in a borderless window the same size as the screen and set the location of the window to the second monitor. A limitation of course, is that your resolution must be the same as the desktop.

Hope that helps give you some direction.


20-07-2008 10:39:32

Hi together,

this is no problem of mogre or ogre, the windowmanager manage the handle of the screens. In case of windows there are some usefull functions in System.Windows.Forms and a nice handle of the coordinates of additional monitors. Windows adds the home coodinates of the monitors to the maximal x- resolution of the monitors ordere before.
So you can first positionate you window in the monitor you want to use and then maximize the Form (if you maximize the OgreWindow, it will maximize in the first monitor ;)):

//first check the amount of connected monitors
int screenAmount = System.Windows.Forms.Screen.AllScreens.Length;
//set the position of the mogre WindowsForm(!) on the position of the monitor M you want
ParentForm.Left = System.Windows.Forms.Screen.AllScreens[M].Bounds.X;
//maximze the WindowsForm
ParentForm.WindowState = FormWindowState.Maximized;

thats all. If you want to have a nice fullscreen feeling set:

ParentForm.FormBorderStyle = FormBorderStyle.None;

Additional you can fit your Ogre resolution by read out the resolution of the monitor (remember M is the number of the monitor):

ParentForm.RenderWindow.SetFullscreen(false, System.Windows.Forms.Screen.AllScreens[M].Bounds.Width, System.Windows.Forms.Screen.AllScreens[M].Bounds.Height);

so far,