No. I can't get any image on screen. Evenytime I changed the size of volume data, setImage will be called again. I would like to know why I can't display the volume image at first time. I am using the same concept with vtk and coin3D, I don't have any image display problem. I want to try osg becasue I want to compare the performance with other libraries. I am looking for handling 1000 cube voxel data.
Clement ________________________________________ From: [email protected] [[email protected]] On Behalf Of J.P. Delport [[email protected]] Sent: Wednesday, 20 July 2011 5:34 PM To: OpenSceneGraph Users Subject: Re: [osg-users] How to update image data Hi, On 20/07/2011 02:35, [email protected] wrote: > Hi, > > I used the following codes to create Volume data display. > > osg::ref_ptr<osg::Image> osgImage = new osg::Image; > osg::ref_ptr<osgVolume::Volume> osgVolume = new osgVolume::Volume; > osg::ref_ptr<osgVolume::VolumeTile> osgTile = new osgVolume::VolumeTile; > > osg::ref_ptr<osgVolume::ImageLayer> osgLayer = new > osgVolume::ImageLayer(osgImage.get()); > osgTile->setLayer(osgLayer.get()); > osgVolume->addChild(osgTile.get()); > > osgVolume::AlphaFuncProperty* ap = new > osgVolume::AlphaFuncProperty(0.02f); > osgVolume::SampleDensityProperty* sd = new > osgVolume::SampleDensityProperty(0.005); > osgVolume::TransparencyProperty* tp = new > osgVolume::TransparencyProperty(1.0); > osgVolume::TransferFunctionProperty* tfp = new > osgVolume::TransferFunctionProperty(osgTransFunc.get()); > > osgVolume::CompositeProperty* cp = new osgVolume::CompositeProperty; > cp->addProperty(ap); > cp->addProperty(sd); > cp->addProperty(tp); > cp->addProperty(tfp); > > osgLayer->addProperty(cp); > osgTile->setVolumeTechnique(new osgVolume::RayTracedTechnique); > > The above codes are used on initializing. I created the image pointer > and assigned to image layer. Then I will use setImage method to assign I > defined the data pointer. hmm, I'm not familiar with the volume code at all, but I would have though a layer is a texture without depth (nz==1)? > > osgImage->setImage(nx, ny, nz, 4, GL_RGBA, GL_UNSIGNED_BYTE, pdisp_ptr, > osg::Image::NO_DELETE, 1); > // where nx, ny, nz are size of data (width, height, depth); > // where pdisp_ptr is assigned for using defined data You can change the magic 4 to also GL_RGBA, but it looks OK to me. You still have not said whether you get any image at all, even on the first frame? > > > //Then I also used the following codes to set the size of volume data. > I wonder whether I need the following codes if I already the size into image > pointer. > osg::ref_ptr<osg::RefMatrix> matrix = new osg::RefMatrix(nx, 0.0, 0.0, > 0.0, > > 0.0, ny, 0.0, 0.0, > > 0.0, 0.0, nx, 0.0, > > 0.0, 0.0, 0.0, 1.0); > > osgLayer->setLocator(new osgVolume::Locator(*matrix)); > osgTile->setLocator(new osgVolume::Locator(*matrix)); > > > Then I will try to assign the data value to pdisp_ptr. After that, I > will call osgImage->dirty(). But there is no changed on viewer. Any idea? > This is my first time to use osg on my application, so I am not sure whether > my code is crroect. No change? Was there something at all? How do you assign data to pdisp_ptr? You must change the data pointed to by pdisp_ptr or call setImage again if your data is now somewhere else. jp > > > > Clement > > > > ________________________________________ > From: [email protected] > [[email protected]] On Behalf Of J.P. Delport > [[email protected]] > Sent: Wednesday, 20 July 2011 1:00 AM > To: OpenSceneGraph Users > Subject: Re: [osg-users] How to update image data > > Hi, > > are you calling setImage only once? Are you using osg::Image::NO_DELETE? > How are you changing the data? Do you get the first image correctly? > > jp > > On 19/07/2011 16:09, [email protected] wrote: >> I tried, but it is no update. Is there a function from viewer to update the >> screen? >> ________________________________________ >> From: [email protected] >> [[email protected]] On Behalf Of J.P. Delport >> [[email protected]] >> Sent: Tuesday, 19 July 2011 11:39 PM >> To: OpenSceneGraph Users >> Subject: Re: [osg-users] How to update image data >> >> see the dirty() function >> >> On 19/07/2011 14:10, [email protected] wrote: >>> Hi, >>> >>> I used the Image to display data. I used setImage and assigned I >>> defined unsigned char pointer. My question is how to let viewer to know to >>> update the view after completed updated the data into image. >>> >>> >>> Regards, >>> Clement >>> _______________________________________________ >>> osg-users mailing list >>> [email protected] >>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> >> -- >> This message is subject to the CSIR's copyright terms and conditions, e-mail >> legal notice, and implemented Open Document Format (ODF) standard. >> The full disclaimer details can be found at >> http://www.csir.co.za/disclaimer.html. >> >> This message has been scanned for viruses and dangerous content by >> MailScanner, >> and is believed to be clean. >> >> _______________________________________________ >> 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 > > -- > This message is subject to the CSIR's copyright terms and conditions, e-mail > legal notice, and implemented Open Document Format (ODF) standard. > The full disclaimer details can be found at > http://www.csir.co.za/disclaimer.html. > > This message has been scanned for viruses and dangerous content by > MailScanner, > and is believed to be clean. > > _______________________________________________ > 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 > -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. _______________________________________________ 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

