Multiple Monitor Usage for Torque Game
by GarageGamer · in Technical Issues · 08/21/2003 (1:00 pm) · 13 replies
We are developing a game in which we need to display information for game objects (Characters, things) which are clicked on by the player onto another monitor. Does anybody have suggestions on how to go about implementing this using TGE.
Which one is the better way of implementing this...a GUI in the Game itself or passing parameters to another application (like VB etc) to create a seperate GUI from that application.
FYI: The graphics card on the system is NVidia GeForce4 Ti 4200 with Dual Monitor support.
Thanks.
Which one is the better way of implementing this...a GUI in the Game itself or passing parameters to another application (like VB etc) to create a seperate GUI from that application.
FYI: The graphics card on the system is NVidia GeForce4 Ti 4200 with Dual Monitor support.
Thanks.
About the author
#2
Second, TGE uses 3D at the moment to render all gui controls, so as Pat mentions you need an active context on the second display. There are some cards/drivers that will automatically abstract multimon for you (most notably the Parhelia, which I love because of the triple-head support...), but otherwise you really have to engineer it. The Parhelia lets you set a 'widescreen' display mode, and the contexts just span the monitors -- tres cool.
Third, would definitely avoid using a second application for input, unless you have other reasons to want to 'disconnect' the two pieces (which is rare).
d
08/21/2003 (6:03 pm)
First, I wouldn't EVER make a game that >depends< on multimonitor support. The average person doesn't have a second monitor. That is, unless you are trying to make a very niche oriented game and don't mind significantly reducing the people who can play.Second, TGE uses 3D at the moment to render all gui controls, so as Pat mentions you need an active context on the second display. There are some cards/drivers that will automatically abstract multimon for you (most notably the Parhelia, which I love because of the triple-head support...), but otherwise you really have to engineer it. The Parhelia lets you set a 'widescreen' display mode, and the contexts just span the monitors -- tres cool.
Third, would definitely avoid using a second application for input, unless you have other reasons to want to 'disconnect' the two pieces (which is rare).
d
#3
All that needs to be done now is to limit the game display to
half (one monitor full abt 1024*1024) of the whole Torque window (2048*1024) and
have a GUI in the other half (1024*1024) to display infomation on objects
that are clicked on in the game.
Please share your ideas and insights.
BTW, This is an educational game to educate people about the Tree/animal/insect
species in a typical Pine forest.
Thx A L
GG'er
09/09/2003 (6:26 pm)
The game is running fine in the horizontal span mode on the two monitors with a resolution of upto 2048 x 1024. All that needs to be done now is to limit the game display to
half (one monitor full abt 1024*1024) of the whole Torque window (2048*1024) and
have a GUI in the other half (1024*1024) to display infomation on objects
that are clicked on in the game.
Please share your ideas and insights.
BTW, This is an educational game to educate people about the Tree/animal/insect
species in a typical Pine forest.
Thx A L
GG'er
#4
d
09/09/2003 (8:44 pm)
Just look at how the built-in editors work. I believe they simply have the render-pane shrunk and guicontrols alongside. Should be easy to split the screen 50/50.d
#5
i was also trying to call another application from the game, like notepad/acrobat....to begin with. i read about the browser opening thru Torque... and would try to harness the same for opening other kinds of files. do you know of any tut/resource that helps put on that issue?
09/23/2003 (7:39 am)
The gui editor doesn't allow a shrunk render pane(playgui.gui) with an info pane on the right. it does allow you to shrink it and place another gui alongside....but reverts the shrunk gui to full size and sends the added gui to the back. i tried manually editing the playgui.gui file... but same thing happened. any suggestions?i was also trying to call another application from the game, like notepad/acrobat....to begin with. i read about the browser opening thru Torque... and would try to harness the same for opening other kinds of files. do you know of any tut/resource that helps put on that issue?
#6
10/15/2003 (12:24 pm)
I don't know if this thread has been forgotten... but I need those two monitor. The difference is that I would like to use the second monitor for rendering a different image. Two images, two monitors. Is that possible?
#7
how r u displaying the second image... within Torque/ another application.
And some details abt ur graphics hardware will help.
10/15/2003 (2:11 pm)
Luis:how r u displaying the second image... within Torque/ another application.
And some details abt ur graphics hardware will help.
#8
Get the idea now? :) I've read about displaying scenes in GUIs inside the main GUI, in order to create precisely a rear-view mirror in a car... I think it must be something alike..
10/15/2003 (2:36 pm)
Within Torque. I want the two monitors to be two different views of the same scene. One monitor for one camera, and the second one for a different camera. Like a rear-view mirror, but on a different monitor (I don't want it for a rear-view, but that's the idea). I was thinking about one of those DUAL cards, not a HYDRAVISION, something better. Of course, with 3D acceleration...Get the idea now? :) I've read about displaying scenes in GUIs inside the main GUI, in order to create precisely a rear-view mirror in a car... I think it must be something alike..
#9
Many modern cards can do dual monitor rendering, though I don't know what the performance is like.
Remember, each monitor has its own surface.
10/15/2003 (5:06 pm)
Do what Pat says.Many modern cards can do dual monitor rendering, though I don't know what the performance is like.
Remember, each monitor has its own surface.
#10
10/16/2003 (1:37 am)
Ok, I'll try to. I hope it will be enough for what I want to do... Anyway, a powerful PC should be able to deal with that, shouldn't it? Framerate would be divided by two, but on a 2.8Ghz with a good 3D card, that shouldn't be a problem :m I am not working with complex AI, of special effects. Its just the player walking around on a certain 3D scenario...
#11
What you need to do is to use multiple monitors as independent displays.
msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/monitor_4mr7.asp
And to have C++ detect ur monitors:
msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/monitor_82yb.asp
And for a program that uses EnumDisplayDevices:
www.realtimesoft.com/multimon/programming/basics.asp
I have a NVidia GeForce TI4200 card with dual head. Through its software, u can send all windows belonging to any application (say IE/ Paint) to any of the 2 displays. So say you have Torque running on one display... you can have all browser windows opening to the 2nd monitor in the extended desktop mode.
Please keep me updated on any questions/developments you get. I am also working to get the alternate view on an auxiliary monitor.
10/16/2003 (5:31 pm)
To help... i would like to point you to the MSDN Library help:What you need to do is to use multiple monitors as independent displays.
msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/monitor_4mr7.asp
And to have C++ detect ur monitors:
msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/monitor_82yb.asp
And for a program that uses EnumDisplayDevices:
www.realtimesoft.com/multimon/programming/basics.asp
I have a NVidia GeForce TI4200 card with dual head. Through its software, u can send all windows belonging to any application (say IE/ Paint) to any of the 2 displays. So say you have Torque running on one display... you can have all browser windows opening to the 2nd monitor in the extended desktop mode.
Please keep me updated on any questions/developments you get. I am also working to get the alternate view on an auxiliary monitor.
#12
10/17/2003 (8:14 am)
I've got already the two views I need, on a single monitor. I used a resource about rear-view mirrors, adapted it to my needs, and voil
#13
Sample playGUI.gui
10/17/2003 (4:02 pm)
You can have multiple render views within the Torque PlayGUI.Sample playGUI.gui
new GuiChunkedBitmapCtrl(PlayGui) {
profile = "GuiContentProfile";
horizSizing = "width";
vertSizing = "height";
position = "0 0";
extent = "800 600";
minExtent = "8 8";
visible = "1";
helpTag = "0";
bitmap = "./background";
useVariable = "0";
tile = "0";
//--- OBJECT WRITE BEGIN ---
new GameTSCtrl(PlayGui1) {
profile = "GuiDefaultProfile";
horizSizing = "relative";
vertSizing = "relative";
position = "0 0";
extent = "400 300";
minExtent = "8 8";
visible = "1";
cameraZRot = "0";
forceFOV = "0";
noCursor = "1";
helpTag = "0";
};
new GameTSCtrl(PlayGui2) {
profile = "GuiDefaultProfile";
horizSizing = "relative";
vertSizing = "relative";
position = "400 0";
extent = "400 300";
minExtent = "8 8";
visible = "1";
cameraZRot = "0";
forceFOV = "0";
noCursor = "1";
helpTag = "0";
};
new GameTSCtrl(PlayGui3) {
profile = "GuiDefaultProfile";
horizSizing = "relative";
vertSizing = "relative";
position = "0 300";
extent = "400 300";
minExtent = "8 8";
visible = "1";
cameraZRot = "0";
forceFOV = "0";
noCursor = "1";
helpTag = "0";
};
new GameTSCtrl(PlayGui4) {
profile = "GuiDefaultProfile";
horizSizing = "relative";
vertSizing = "relative";
position = "400 300";
extent = "400 300";
minExtent = "8 8";
visible = "1";
cameraZRot = "0";
forceFOV = "0";
noCursor = "1";
helpTag = "0";
};
};
Torque 3D Owner Pat Wilson
Ok here's what you're gonna have to do. Create another window and make a kind of activate function because you need to specify which HDC you are rendering to for GL. Each window will need to be a seperate window class and create it's own HDC. OpenGL only supports one graphics adapter, dual-head is treated as two. You can still do it, but it's not going to be optimal. This is going to take some hacking in winWindow.cc and the GL device class too.
Good luck.