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

Reply via email to