[osg-users] OSG on overlapping screen wall

Robert Osfield robert.osfield at gmail.com
Tue Sep 2 11:26:28 PDT 2008


Hi Yanling,

Is it that you are trying to create a single graphics context across
both screens? With the overlap being hidden by X?
I kinda doubt that this is possible.

The way I would tackle the task would be to create two separate
graphics contexts, with two separate slave cameras, and then either
alpha blend the overlap (this technique is called edge blending) by
drawing a alpha blended quad over central edge, or if you can adjust
the monitors accurately enough go for a hard edge and just set up the
viewports to hide the overlap.

The best way to manage this type of adjustment of slave cameras would
be to use a Producer .cfg config file, osgViewer can load Producer
config files virtue of the .cfg plugin.    The way you'd run it is:

  osgviewer cow.osg -c twoscreens.cfg

As for the contents of twoscreens, you'll need to have a download
Producer sources and look through Producer's example .cfg files for
something similar to what you want then just tweak it.

Robert.

On Tue, Sep 2, 2008 at 7:07 PM, Yanling Liu <vrnova at gmail.com> wrote:
> Thanks, Robert,
>
> This confuses me more:-). To my knowledge, on my machine, X server has
> created a large screen (2422x1050 by overlapping two 1400x1050 display area
> with 378pixels blending region). I think, might be incorrect, that
> overlapping is hidden by video driver and X server so that applications
> should only see a 2422x1050 screen size. I feel this correct because I can
> startup osgViewer in window mode and manually resize the window to span the
> entire 2422x1050 display area.
>
> But if I start osgViewer in full screen mode, it only spans to one 1400x1050
> area. I am hoping to see a solution to enable osgViewer to start up to span
> the entire 2422x1050 display area in full screen mode. For now I can just
> manually drag osgViewer window to span to the entire screen.
>
> Best,
> Yanling
>
> On Tue, Sep 2, 2008 at 1:39 PM, Robert Osfield <robert.osfield at gmail.com>
> wrote:
>>
>> Hi Yanling,
>>
>> The osgViewer's standard settings won't help you, as it simply doesn't
>> know about your overlaps.  The OSG does support what you are trying to
>> do but you'll need to either create a Producer style .cfg file to
>> configure the slave cameras offset, or set slave camera projection
>> offset matrices directly in your application.
>>
>> Robert.
>>
>> On Tue, Sep 2, 2008 at 6:36 PM, Yanling Liu <vrnova at gmail.com> wrote:
>> > Thanks, Ryven,
>> >
>> > Sorry I didn't make this clear. The display wall I am using is an
>> > overlapping wall. That means two projectors are physically adjusted to
>> > be
>> > overlapping/edge blending. These projectors have built-in image
>> > processor to
>> > do edge blending.
>> >
>> > In fact, I can start osgViewer using following parameter and manually
>> > drag/resize its window to span to the entire X screen with stereo.
>> > osgViewer --window 20 20 512 512 --stereo QUAD_BUFFER cow.osg
>> >
>> > So I guess osgViewer works no matter it's a one X screen or two X
>> > screens.
>> > What I am trying to know is, in my configuration, if it is X server's
>> > problem to prohibit default-to-be-maximum application to span the entire
>> > screen, or if it is osgViewer's problem to detect maximum screen
>> > resolution.
>> >
>> > Best,
>> >
>> > On Tue, Sep 2, 2008 at 12:27 PM, Ryven <ryven.kicks.ass at gmail.com>
>> > wrote:
>> >>
>> >> Hi There,
>> >> to build a power wall without a blending zone, you should create 2
>> >> screens (and update your server layout) in xorg.conf, that way
>> >> osgviewer will span across all screens automatically.
>> >> to have a blending zone you can create 2 windows (one in each screen),
>> >> and adjust the projection of each camera/graphicscontext, check
>> >> osgwindows.cpp example
>> >>
>> >> best regards
>> >>
>> >>
>> >> On Tue, Sep 2, 2008 at 5:11 PM, Yanling Liu <vrnova at gmail.com> wrote:
>> >> > Hello, I am using OSG with a overlapping screen wall (two projecters
>> >> > overlapped to create a large display). A problem is that osgViewer
>> >> > won't
>> >> > use
>> >> > all display area: Two projectors display two sub-screens overlapping
>> >> > together for a large screen. But osgViewer only use one sub-screen. I
>> >> > have
>> >> > tried to use different parameters of --display and --screen but no
>> >> > help
>> >> > at
>> >> > all.
>> >> >
>> >> > Please help... many thanks,
>> >> > Yanling
>> >> >
>> >> > This is my xorg.conf:
>> >> > # nvidia-xconfig: X configuration file generated by nvidia-xconfig
>> >> > # nvidia-xconfig:  version 1.0  (buildmeister at builder58)  Thu Jul 17
>> >> > 18:39:00 PDT 2008
>> >> >
>> >> > # nvidia-settings: X configuration file generated by nvidia-settings
>> >> > # nvidia-settings:  version 1.0  (buildmeister at builder26)  Thu Feb 14
>> >> > 18:14:18 PST 2008
>> >> >
>> >> > Section "ServerLayout"
>> >> >     Identifier     "Layout0"
>> >> >     Screen      0  "Screen0" 0 0
>> >> >     InputDevice    "Keyboard0" "CoreKeyboard"
>> >> >     InputDevice    "Mouse0" "CorePointer"
>> >> > EndSection
>> >> >
>> >> > Section "Files"
>> >> >     RgbPath         "/usr/X11R6/lib/X11/rgb"
>> >> >     FontPath        "unix/:7100"
>> >> > EndSection
>> >> >
>> >> > Section "Module"
>> >> >     Load           "dbe"
>> >> >     Load           "extmod"
>> >> >     Load           "type1"
>> >> >     Load           "freetype"
>> >> >     Load           "glx"
>> >> > EndSection
>> >> >
>> >> > Section "ServerFlags"
>> >> >     Option         "Xinerama" "0"
>> >> > EndSection
>> >> >
>> >> > Section "InputDevice"
>> >> >
>> >> >     # generated from default
>> >> >     Identifier     "Mouse0"
>> >> >     Driver         "mouse"
>> >> >     Option         "Protocol" "auto"
>> >> >     Option         "Device" "/dev/input/mice"
>> >> >     Option         "Emulate3Buttons" "no"
>> >> >     Option         "ZAxisMapping" "4 5"
>> >> > EndSection
>> >> >
>> >> > Section "InputDevice"
>> >> >
>> >> >     # generated from data in "/etc/sysconfig/keyboard"
>> >> >     Identifier     "Keyboard0"
>> >> >     Driver         "kbd"
>> >> >     Option         "XkbLayout" "us"
>> >> >     Option         "XkbModel" "pc105"
>> >> > EndSection
>> >> >
>> >> > Section "Monitor"
>> >> >
>> >> >     # HorizSync source: xconfig, VertRefresh source: xconfig
>> >> >     Identifier     "Monitor0"
>> >> >     VendorName     "Unknown"
>> >> >     ModelName      "CRT-0"
>> >> >     HorizSync       30.0 - 140.0
>> >> >     VertRefresh     48.0 - 160.0
>> >> >     ModeLine       "1400x1050_96_wall" 205.4 1400 1512 1664 1928 1050
>> >> > 1051
>> >> > 1054 1110 -hsync -vsync
>> >> >     Option         "DPMS"
>> >> > EndSection
>> >> >
>> >> > Section "Device"
>> >> >     Identifier     "Videocard0"
>> >> >     Driver         "nvidia"
>> >> >     VendorName     "NVIDIA Corporation"
>> >> >     BoardName      "Quadro FX 5600"
>> >> > EndSection
>> >> >
>> >> > Section "Screen"
>> >> >     Identifier     "Screen0"
>> >> >     Device         "Videocard0"
>> >> >     Monitor        "Monitor0"
>> >> >     DefaultDepth    24
>> >> >     Option         "TwinView" "1"
>> >> >     Option         "TwinViewXineramaInfoOrder" "CRT-0"
>> >> >     Option         "metamodes" "CRT-0: 1400x1050_96_wall +0+0, CRT-1:
>> >> > 1400x1050_96_wall +1022+0"
>> >> >     Option         "Stereo" "3"
>> >> >     Option         "AddARGBGLXVisuals" "False"
>> >> >     SubSection     "Display"
>> >> >         Depth       24
>> >> >     EndSubSection
>> >> > EndSection
>> >> >
>> >> > Section "Extensions"
>> >> >     Option         "Composite" "off"
>> >> > EndSection
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > osg-users mailing list
>> >> > osg-users at lists.openscenegraph.org
>> >> >
>> >> >
>> >> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Rui Varela - rui.filipe.varela at gmail.com
>> >> Adetti/CGM - Computer Graphics and Multimedia Lab.
>> >> Adetti/Iscte - ICT Research & Development
>> >> Av. Forças Armadas, Edifício ISCTE 1600 - 082 Lisboa, Portugal
>> >> tel. +351 21 782 64 81 fax. +351 21 782 64 88
>> >> Visit our Web site: http://www.adetti.pt
>> >> Visit my "non professional" Web site:
>> >> http://rui.filipe.varela.googlepages.com/
>> >> _______________________________________________
>> >> osg-users mailing list
>> >> osg-users at lists.openscenegraph.org
>> >>
>> >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>> >
>> >
>> > _______________________________________________
>> > osg-users mailing list
>> > osg-users at lists.openscenegraph.org
>> >
>> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>> >
>> >
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>



More information about the osg-users mailing list