Hi Clement,

I'm afraid I can't help you, I not a windows expert and don't know MFC at
all, I'm not the author of the osgviewerMFC example.

The code snippets you have provide don't really give me any clues to what
might be amiss.

I don't have any means of recreating the problems you are seeing with your
application, or you hardware and data.

All I can say it general it is possible to changing window sizes, and it is
possible to create new windows without problems, others do and I've done it
lots myself but never with MFC.  I have no clue with it's a MFC specific
issue you are up against, or how you've gone around implementing it.

Robert.

On 31 January 2015 at 03:12, <[email protected]> wrote:

> Hi Robert,
>
>   This is the code for showing image in MFC window. (I followed the
> osgviewerMFC example).
>
> osg::ref_ptr<osg::GraphicsContext::Traits> traits = new
> osg::GraphicsContext::Traits;
> traits->x = 0;
> traits->y = 0;
> traits->windowDecoration = false;
> traits->doubleBuffer = true;
> traits->sharedContext = 0;
> traits->setInheritedWindowPixelFormat = true;
> traits->width = rect.right - rect.left;
> traits->height = rect.bottom - rect.top;
> traits->inheritedWindowData = new
> osgViewer::GraphicsWindowWin32::WindowData(m_hWnd);
> osg::ref_ptr<osg::GraphicsContext> gc =
> osg::GraphicsContext::createGraphicsContext(traits.get());
> osgCamera->setGraphicsContext(gc.get());
>
> It requires to set window handle (HWND) into Trait to show image into MFC
> window.  The window decoration is already set to false.  If I changed the
> size, the osgViewer is still inside the MFC window.  I would like to switch
> the osgviewer to display on external monitor (full screen)
> programmatically.  I tried many methods and seems I can do it with creating
> a new GraphicsContext and new Trait without assign any HWND and specify the
> screen number, such as...
>
> osg::GraphicsContext::WindowingSystemInterface* wsi =
> osg::GraphicsContext::getWindowingSystemInterface();
> osg::GraphicsContext::ScreenIdentifier si;
> si.readDISPLAY();
> traits->hostName = si.hostName;
> traits->displayNum = si.displayNum;
> traits->screenNum = si.screenNum;
>
>
> The method seems working fine, but the image is already blank at the
> first.  Once I changed DisplaySettings with grayscale and stereo mode, the
> image will come out properly.  I would like to know why replaced a new
> GraphicsContext with existing camera will cause the blank problem and why
> the image can show up again after changing some display settings.  Or I
> already did a wrong way to switch the current viewer to show on full
> screen.  Please advise.  Thanks.
>
>
>
> Regards,
> Clement
>
>
>
>
> ________________________________________
> 发件人: osg-users [[email protected]] 代表 Robert
> Osfield [[email protected]]
> 发送时间: 2015年1月31日 03:18
> 收件人: OpenSceneGraph Users
> 主题: Re: [osg-users] Blank screen
>
> Hi Clement,
>
> My guess is that way you hacking the screen size change by creating a new
> context is screwing up the way context ID's and OpenGL objects are managed.
>
> My recommendation would be to just switch off window decoration and change
> the window size of the context rather than creating a new one.
>
> Robert.
>
> On 30 January 2015 at 16:04, <[email protected]<mailto:
> [email protected]>> wrote:
> Hi all,
>
>   I am trying to output my volume image on full screen with MFC by
> changing GraphicsContext in camera.  First I get GraphicsContext from
> camera and then close it.  Then I created a new GraphicsContext with
> setting screen number and size of full screen and then set it to camera.
> It works to show full screen and also restore back to mfc window, but the
> image cannot show probably.  There is no image on screen (volume data) and
> show the axes I drawn only.  If I changed the display setting to stereo
> (Anaglyphic) and set grayscale on and off.  Then the image will come out.
> I am not sure how to fix it.  See if anyone can help me.  Thanks.
>
>
> Regards,
> Clement
>
>
>
> _______________________________________________
> osg-users mailing list
> [email protected]<mailto:
> [email protected]>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to