Hi Steffen,

I'm finding it hard to follow exactly what your set up is.  Since I'm
not clear the best I can do is have an educated guess.  Could it be
that you are using rendering to the texture in one graphics context,
then trying to reuse that same texture in another graphics context?

Robert.

On Thu, Jul 10, 2008 at 6:59 AM, Steffen Kim <[EMAIL PROTECTED]> wrote:
> Hi everyone.
>
> I have some issues with rendering to a texture.
>
> I am writing a plug-in for an application.
> This application has a main-viewer-window, where it displays a scene.
> My plug-in has an own window with a new viewer and everything.
>
> The new window now needs a texture showing what the main window displays 
> right at this moment.
> I need it to use it later on with an API for interlacing but for now I just 
> want to show it in the plug-in-window to see whether rendering-to-texture 
> works as it should.
>
> That is why the plug-in-window show a screen-aligned-quad that displays this 
> texture. If I use an image as texture of the quad everything works as it 
> should, so my plug-in-window should be fine the way it is.
> But if I use the texture I render using a camera in the main application's 
> scene I just get a black texture.
>
> I create the following camera using information of the camera of the main 
> application which I get via an interface named "_billInterface" and attach 
> the texture:
>
>        osg::Camera* camera = new osg::CameraNode();
>
>        camera->setCullingActive(false);
>        camera->setClearColor(osg::Vec4(1.0f,1.0f,1.0f,1.0f));
>        camera->setClearMask(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
>
>        // Set camera properties according to the main camera of the main 
> application
>        osg::Camera* billCamera = _billInterface->getCamera();
>        
> camera->setViewport(0,0,_billInterface->getGraphicsContext()->getTraits()->width,_billInterface->getGraphicsContext()->getTraits()->height);
>        camera->setProjectionMatrix(billCamera->getProjectionMatrix());
>        camera->setViewMatrix(billCamera->getViewMatrix());
>        camera->setReferenceFrame(billCamera->getReferenceFrame());
>        camera->setStateSet(billCamera->getStateSet());
>
>        camera->setRenderOrder(osg::CameraNode::PRE_RENDER,1);
>        
> camera->setRenderTargetImplementation(osg::CameraNode::FRAME_BUFFER_OBJECT);
>        camera->attach(osg::CameraNode::COLOR_BUFFER, texture.get());
>
>
> Then I add the scene of the main application to the camera so that it shows 
> this scene.
>
>        camera->addChild(_billInterface->getScene());
>
> Now I take this camera and put it into the scene graph of the main 
> application:
>
>        _billInterface->getRootNode()->getParent(0)->addChild(camera);
>
> (That way it is on one depth with the rootNode of the scene and the node 
> containing the HUD. I put it in there so that the camera's output is rendered 
> into the texture everytime the viewer of the main application is updated.)
>
>
> I know that I get a texture that way because the quad that holds this texture 
> is normally red and after creating the camera and attaching the texture it 
> turns black.
>
> I guess that either some camera properties are wrong or I have to put the 
> camera somewhere else.
> Can someone give me a hint on what I might be doing wrong? What are the main 
> things I have to take care of when doing render-to-texture?
>
> Is the texture automatically updated everytime the scene containing my 
> render-to-texture-camera is rendered?
>
>
> Thanks in advance for any help,
> Steffen
> _______________________________________________________________________
> EINE FÜR ALLE: die kostenlose WEB.DE-Plattform für Freunde und Deine
> Homepage mit eigenem Namen. Jetzt starten! http://unddu.de/[EMAIL PROTECTED]
>
> _______________________________________________
> 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