[osg-users] FBO setup failed

2010-09-07 Thread alexandre amyot murray
Hi,

I'm using an osg::Camera to do a render to texture. My setup looks like this
:

osg::Camera * rttCamera = new osg::Camera();
rttCamera-setReferenceFrame(osg::Transform::ABSOLUTE_RF);
rttCamera-setRenderOrder(osg::Camera::PRE_RENDER);

rttCamera-setRenderTargetImplementation(osg::Camera::FRAME_BUFFER_OBJECT);

osg::Texture2D * rttTex = new osg::Texture2D;
rttTex-setResizeNonPowerOfTwoHint( false );
rttTex-setTextureSize( w,h );
rttTex-setInternalFormat(GL_RGBA16F_ARB);
rttTex-setSourceFormat(GL_LUMINANCE);
rttTex-setSourceType(GL_UNSIGNED_BYTE);
rttTex-setFilter(osg::Texture2D::MIN_FILTER,osg::Texture2D::LINEAR);
rttTex-setFilter(osg::Texture2D::MAG_FILTER,osg::Texture2D::LINEAR);

osg::Image * rttResultIm = new osg::Image;
osg::PixelBufferObject* pbo= new osg::PixelBufferObject(rttResultIm);
rttResultIm-setPixelBufferObject(pbo);

rttResultIm-allocateImage(w, h, 1, GL_LUMINANCE, GL_UNSIGNED_BYTE);

rttCamera-attach( osg::Camera::COLOR_BUFFER, rttResultIm );
rttTex-setImage( rttResultIm );

But when I do this this way, I get the following warning/error :

RenderStage::runCameraSetUp(), FBO setup failed, FBO status= 0x8cd6
Warning: detected OpenGL error 'invalid enumerant' after RenderBin::draw(,)
RenderStage::drawInner(,) FBO status= 0x8cd5

Still everything seems to work fine and my frame rate is about 320 fps. But
if I change the last 2 lines from :

rttCamera-attach( osg::Camera::COLOR_BUFFER, rttResultIm );
rttTex-setImage( rttResultIm );

to

rttCamera-attach( osg::Camera::COLOR_BUFFER, rttTex );
rttCamera-attach( osg::Camera::COLOR_BUFFER, rttResultIm );

Then I get no error/warning but my frame rate drops to 250 fps.

So can somebody explain to me what's happening ? I just don't get what is
the difference between the 2 methods and why the first one gives me an error
like this, but still work. By the way I'm working on Windows XP and an
NVidia GTX 260.

Thank you in advance

Alexandre
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] osgParticle and osgPPU not compatible

2009-01-20 Thread alexandre amyot murray
Hi Art,

I know you are probably very occupied, but is it possible for you to provide
a small example of using osgParticle with osgPPU. I still have the same bug
as I had 2 months ago and Im not able to fix it. Just to remember it, my app
crash just after I get this warning :

osg::notify(osg::WARN) 
osgParticle::ParticleSystemUpdater::traverse(NodeVisitor) requires a valid
FrameStamp to function, particles not updated.\n;

Maybe it is how I connect osgParticle to the rest of my graph...

Thank you

Alex
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] osgParticle and osgPPU not compatible

2009-01-20 Thread alexandre amyot murray
Hi Art,

Forget about the example, I made one myself and it work, jut don't know what
I'm doing different in my app. But now it's my problem :)

Thanks

Alex
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Frame rate drop with osgPPU v0.3

2009-01-15 Thread alexandre amyot murray
Hi Art,

Do you think its possible that the version 0.3 of osgPPU affect the frame
rate considerably ?

Since  I merge to  v0.3 (I was using v0.2 before),  my application  runs
slowly  and I  get  a  lot of glitches  that  never happened  before.  The
code is exactly the same.

For now Im stuck to v0.2, but in this version if you attempt to do something
like this

osg::Texture * aTexure = aUnitInOut-getOrCreateOutputTexture(0)

it doesnt work, but in v0.3 its fine. Is there a simple way to correct this
bug from v0.2.

Thank you

Alex
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] osgPPU v0.3 cycles problem (Art Tevs)

2008-12-17 Thread alexandre amyot murray
It does work fine.

Thanks

 Hi Alexandre,


 The problem is that from somewhere in the osg there is a node visitor
running over the osgPPU pipeline which hasn't specified type. I would expect
here to run the update visitor first, but there is some other visitor
running, and I do not know which one ;(, because the visitor has no
specified type information (getVisitorType() returns just NODE_VISITOR).

 I have updated the trunk version of osgPPU. It seems the problems with the
cycles are gone now. Test it out. If you would like to stay on version 0.3
of osgPPU, then you have to rewrite the ::traverse method of Processor.cpp
from the trunk in your copy of osgPPU.

 Cheers,
 art
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] osgPPU v0.3 cycles problem

2008-12-16 Thread alexandre amyot murray
Hi (Art :) )

I just upgrade osgPPU to version 0.3. After I changed every osgPPU::Shader
to osgPPU::ShaderAttribute, my application still crashes in an unexpected
way.

But after a couple of hours of investigation (I almost went back to version
0.2), I finally found what was the bug. I have a lot of UnitInOut in my
application that add themself to create a specific effect.

Exemple  :

osgPPU::UnitInOut * aUnit = new osgPPU::UnitInOut();

osgPPU::ShaderAttribute* aShaderAttribute = new osgPPU::ShaderAttribute();
aShaderAttribute-addShader(someShader);

aShaderAttribute-add(tex0, osg::Uniform::SAMPLER_2D);
aShaderAttribute-set(tex0, 0);
aShaderAttribute-add(tex1, osg::Uniform::SAMPLER_2D);
aShaderAttribute-set(tex1, 1);

aUnit-getOrCreateStateSet()-setAttributeAndModes(aShaderAttribute);

previousUnit-addChild( aUnit );
aUnit-addChild( aUnit );// this
line seems to not be valid anymore

It seems like this is not a good practice anymore and I didn't find a way to
replicate it.


Hope you can help me

Thanks

Alex
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] osgPPU and multiple processor

2008-09-29 Thread alexandre amyot murray
Hi Art,

It works fine to switch between multiple processor, with or without
osg::Switch. It was my error too many threads in my application :D

Thanks

Alex


 Hi Alexandre,

 I have never tried to alternate osgppu's processors dynamicly while
rendering. I am not sure if it is a good idea at all (even also for other
kind of osg nodes), since osg provides a mechanism called osg::SwitchNode
which do the trick.

 Could you try to use the SwitchNode as a parent node for the processors.
This will force to render only the active processor hence changing effects
on the fly. I think this wouldn't make troubles, however I am not sure ;)

 If this doesn't help, could you then provide me with a small example code
reproducing the error. This would be helpful to eliminate the issue.

 Cheers,
 art
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] osgPPU and multiple processor

2008-09-26 Thread alexandre amyot murray
Hi,

I was wondering if it's a good practice to build 2 or more ppu graph and
then altern them to render differents effects.

Example :

I instanciate a osgPPU::Processor * processor1 and add some unit to it :

processor1-addChild(  osgPPU::Unit* aUnit )
processor1-addChild(  osgPPU::Unit* aUnit )
processor1-addChild(  osgPPU::Unit* aUnit )
...
processor1-addChild( osgPPU::UnitOut* ppuOut )

and then a second osgPPU::Processor * processor2 and add different unit to
it :

processor2-addChild(  osgPPU::Unit* aUnit )
processor2-addChild(  osgPPU::Unit* aUnit )
processor2-addChild(  osgPPU::Unit* aUnit )
...
processor2-addChild( osgPPU::UnitOut* ppuOut )

Now my application need to cange the effect every 45 seconds, so when its
time I remove the current processor from my main osg::Node and add the
second processor to it.

Is this ok to do this ? It seems to work fine for a while but then a random
crash appears in the viewer_.frame() call just after I switch processor.

This crash never come if I dont alternate processor1 and 2.

thanks again

Alex
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] osgParticle and osgPPU not compatible

2008-09-17 Thread alexandre amyot murray
Hi Art and Robert,

First of all I dont use my own viewer class, I use osgViewer. I initialize
the viewer camera like this to support osgPPU :

// Set single thread model
viewer_.setThreadingModel(osgViewer::Viewer::SingleThreaded);

// Set the main window position and size
osg::ref_ptrosg::GraphicsContext::Traits traits = new
osg::GraphicsContext::Traits;
traits-x= windowProperties_.winXPos_;
traits-y= windowProperties_.winYPos_;
traits-width= windowProperties_.winWidth_;
traits-height   = windowProperties_.winHeight_;
traits-windowDecoration = false;
traits-doubleBuffer = true;
traits-sharedContext= 0;

// Set the graphics context for the camera
osg::ref_ptrosg::GraphicsContext gc =
osg::GraphicsContext::createGraphicsContext(traits.get());
gc-setClearColor( osg::Vec4(0.0f, 0.0f, 0.0f, 1.0f) );
gc-setClearMask( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
gc-clear( );
viewer_.getCamera()-setGraphicsContext(gc.get());

// Set the viewport
viewer_.getCamera()-setViewport( viewportProperties_.viewportXPos_,
  viewportProperties_.viewportYPos_,
  viewportProperties_.viewportWidth_,
  viewportProperties_.viewportHeight_ );


// Set the projection matrix as perspective
double aspectRatio;
if(
viewportProperties_.viewportWidth_/viewportProperties_.viewportHeight_ =
1.0 )
aspectRatio =
viewportProperties_.viewportWidth_/viewportProperties_.viewportHeight_;
else
aspectRatio =
viewportProperties_.viewportHeight_/viewportProperties_.viewportWidth_;

viewer_.getCamera()-setProjectionMatrixAsPerspective(
cameraProperties_.cameraFovy_,
   aspectRatio,

cameraProperties_.cameraZNear_, cameraProperties_.cameraZFar_ );

// Positioning the camera
osg::Matrix camTrans;
camTrans.makeTranslate( cameraProperties_.cameraPos_.x(),
cameraProperties_.cameraPos_.y(), -cameraProperties_.cameraPos_.z() );
viewer_.getCamera()-setViewMatrix( camTrans );

// tell the camera to use OpenGL frame buffer object where supported.

viewer_.getCamera()-setRenderTargetImplementation(osg::Camera::FRAME_BUFFER_OBJECT);

// create texture to render to
osg::Texture* texture = createRenderTexture(
viewportProperties_.viewportWidth_, viewportProperties_.viewportHeight_,
false );
osg::Texture* depthTexture = createRenderTexture(
viewportProperties_.viewportWidth_, viewportProperties_.viewportHeight_,
true);

// attach the texture and use it as the color and depth buffer.
viewer_.getCamera()-attach(osg::Camera::COLOR_BUFFER, texture);
viewer_.getCamera()-attach(osg::Camera::DEPTH_BUFFER, depthTexture);

Ok then I build my particle scene using osgParticle. I use a ModularEmitter
for the placer, shooter and counter.

Finally I set the osgPPU::Processor and attach all the unit I need for the
shader rendering. Then I set the viewer scene data and start the main loop
which look like this :

osg::Group * rootGroupNode = new osg::Group();
rootGroupNode-addChild( myParticleScene );
rootGroupNode-addChild( myOsgPpuProcessor );
viewer_.setSceneData( rootGroupNode_.get() );

while (!viewer_.done())
{
if( checkForNewMedias() )
updateSceneWithMedia();

updateScene();

// Draw the next frame.
rendering_ = true;
viewer_.frame();
rendering_ = false;

Sleep(1);
}

And the application crash with the error message I provide you. If I comment
these lines in my viewer application :

// Set single thread model
//viewer_.setThreadingModel(osgViewer::Viewer::SingleThreaded);

// tell the camera to use OpenGL frame buffer object where supported.

//viewer_.getCamera()-setRenderTargetImplementation(osg::Camera::FRAME_BUFFER_OBJECT);

// create texture to render to
//osg::Texture* texture = createRenderTexture(
viewportProperties_.viewportWidth_, viewportProperties_.viewportHeight_,
false );
//osg::Texture* depthTexture = createRenderTexture(
viewportProperties_.viewportWidth_, viewportProperties_.viewportHeight_,
true);

// attach the texture and use it as the color and depth buffer.
//viewer_.getCamera()-attach(osg::Camera::COLOR_BUFFER, texture);
//viewer_.getCamera()-attach(osg::Camera::DEPTH_BUFFER, depthTexture);

And don't attach the osgPPU::Processor to my rootGroupNode, everything works
well.

Hope I gave you enough informations, if you need more I'll provide you.

Thanks

Alex
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] video streaming + osgPPU

2008-08-27 Thread alexandre amyot murray
Hi Art,

yes, the rest of my setup is exactly like you said :

osgPPU::Processor-addChild(videoUnitTexture);
videoUnitTexture-addChild(anotherUnit);
It works great if I load a simple image (.png) rather than a video file (.mov).

Also I checked if the video streaming works well when apply to a model
in a scene and it does render correctly.


I tried another way with my own video streaming class that look like this :

  ...

  osg::Texture2D* texture = new osg::Texture2D();
  texture-setDataVariance( osg::object::DYNAMIC );

  osgPPU::UnitTexture * videoUnitTexture = new osgPPU::UnitTexture( texture );

  ...

  while( !viewer.done() )
  {
// Update the texture image in the main render loop
osg::Image* image = myOwnStreamingClass-getNextFrameToDisplay();
texture-setImage( image );

viewer.frame();
  }

This way it works fine for a while, but after a certain time (random),
the application crash with an unhandle exception.

So I'm a little confuse with all this stuff, hope you can help me.

Thank you

Alexandre



Hi Alexandre,

 Hi,

 I want to use osgPPU::UnitTexture to shoot a video as a texture input for
 another unit.

Ok, good idea, I have used it for my project successfully.

 So I tried this code :

 Image * myVideo = osgDB::readImageFile( myVideoFile.mov );

 osg::ImageStream * videoStream_ = NULL;
 videoStream_ = dynamic_castosg::ImageStream*( myVideo );
 videoStream_-setLoopingMode( osg::ImageStream::LOOPING );

  if( videoStream_ )
videoStream_-play();

 osg::Texture2D* texture = new osg::Texture2D();
 texture-setImage(myVideo);

 osgPPU::UnitTexture * videoUnitTexture = new osgPPU::UnitTexture( texture
 );

  and then plug it in the unit pipeline

How is the rest of your setup. It should be something like this:

osgPPU::Processor-addChild(videoUnitTexture);
videoUnitTexture-addChild(anotherUnit);



 But this doesnt work, the texture input in my other module is always black.

I'll try tomorrow a simple example and let you know if you need some extra
setup. There were a lot of changes since the last use of video processing
through osgPPU.

 Is my code wrong ? If no, what is the way to do that with osgPPU

Could you check if the video streaming do work at all? I mean it could be that
the file is just not streamed properly. Try to set the texture to some model in
the scene and see if the texture changes during the rendering.

 Is this the good place to post for osgPPU ?

I think yes, if nobody complains ;).  There is no extra mailinglist for
osgPPU.


Best regards,
Art

 Thank you

 Alexandre
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] video streaming + osgPPU

2008-08-27 Thread alexandre amyot murray
Hi again,

I added this line to my code and now I don't get the weird crash.

viewer.setThreadingModel(osgViewer::Viewer::SingleThreaded);

Don't know why, but it work :)

Thank you for your help

Alex


Hi Alexandre,

 Hi Art,

 yes, the rest of my setup is exactly like you said :

 osgPPU::Processor-addChild(videoUnitTexture);
 videoUnitTexture-addChild(anotherUnit);
 It works great if I load a simple image (.png) rather than
 a video file (.mov).

Hmm, and the processor is also added to the scene graph?


I have uploaded a simple video example, which shows how to use osgPPU to
perform some video processing. In the example the video is just modified during
the rendering to show in greyscale mode. Other filters are of course possible.
Take a look.


 Also I checked if the video streaming works well when apply
 to a model
 in a scene and it does render correctly.


 I tried another way with my own video streaming class that
 look like this :

   ...

   osg::Texture2D* texture = new osg::Texture2D();
   texture-setDataVariance( osg::object::DYNAMIC );

   osgPPU::UnitTexture * videoUnitTexture = new
 osgPPU::UnitTexture( texture );

   ...

   while( !viewer.done() )
   {
 // Update the texture image in the main render loop
 osg::Image* image =
 myOwnStreamingClass-getNextFrameToDisplay();
 texture-setImage( image );

 viewer.frame();
   }

 This way it works fine for a while, but after a certain
 time (random),
 the application crash with an unhandle exception.

I do not know, why the application crashes. Maybe some memory leaks in the
image streaming class. Have you also tried your streamer without osgPPU.

I would say get the newest version of osgPPU from the svn. Maybe the small
changes I have made would help you to solve the problem.


Sometimes there are also crashes or strange behaviour if using osg and osgPPU
together. It happens if osgPPU tries to access textures which haven't applied
through osg before. Such a texture has no valid properties, i.e. texture size,
which makes the osgPPU do not handle in a proper way. I have tried to make the
osgPPU's code more or less stable against such wrong usage, however this might
still happen if osgPPU is used wrong.
This problem is very hard solvable, because of this strict behaviour of osg to
load and to initialize all the data after they had been applied. I hate this,
it doesn't make my life easier at all ;(
Hence try to use osgPPU as it has been shown in all the examples and you won't
get any troubles.


Best regards,
Art


P.S. If nothing helps, then provide me with the info output
(OSG_NOTIFY_LEVEL=info), so that one can see the osgPPU's output information.


 So I'm a little confuse with all this stuff, hope you
 can help me.

 Thank you

 Alexandre



 Hi Alexandre,

  Hi,
 
  I want to use osgPPU::UnitTexture to shoot a video as
 a texture input for
  another unit.
 
 Ok, good idea, I have used it for my project successfully.

  So I tried this code :
 
  Image * myVideo = osgDB::readImageFile(
 myVideoFile.mov );
 
  osg::ImageStream * videoStream_ = NULL;
  videoStream_ = dynamic_castosg::ImageStream*(
 myVideo );
  videoStream_-setLoopingMode(
 osg::ImageStream::LOOPING );
 
   if( videoStream_ )
 videoStream_-play();
 
  osg::Texture2D* texture = new osg::Texture2D();
  texture-setImage(myVideo);
 
  osgPPU::UnitTexture * videoUnitTexture = new
 osgPPU::UnitTexture( texture
  );
 
   and then plug it in the unit pipeline
 
 How is the rest of your setup. It should be something like
 this:

 osgPPU::Processor-addChild(videoUnitTexture);
 videoUnitTexture-addChild(anotherUnit);

 
 
  But this doesnt work, the texture input in my other
 module is always black.
 
 I'll try tomorrow a simple example and let you know if
 you need some extra
 setup. There were a lot of changes since the last use of
 video processing
 through osgPPU.

  Is my code wrong ? If no, what is the way to do that
 with osgPPU
 
 Could you check if the video streaming do work at all? I
 mean it could be that
 the file is just not streamed properly. Try to set the
 texture to some model in
 the scene and see if the texture changes during the
 rendering.

  Is this the good place to post for osgPPU ?
 
 I think yes, if nobody complains ;).  There is no extra
 mailinglist for
 osgPPU.


 Best regards,
 Art

  Thank you
 
  Alexandre
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] problem modifying alpha channel of a geometry

2008-07-11 Thread alexandre amyot murray
Hi,

I have a plane built with 60X60 vertex and I constantly update the alpha
channel of these vertex to create a specific effect for my application. When
I launch the application, everything runs fine for a while, but comes a time
where everything starts to lag.

Do you know why such a thing happens ?

I use this code to update alpha channel :

// Slowly affect the alpha
osg::Vec4Array* colorArray =
((osg::Vec4Array*)myGeometry_-getColorArray());
for( unsigned int i=0; icolorArray-size(); i++ )
{
if( (colorArray-at( i )).a()  1.0 )
{
double alpha = (colorArray-at( i )).a() + alphaIncrement_;
if( alpha  1.0 )
alpha = 1.0;

if( alpha = 0.0 )
   (colorArray-at( i ))[3] = alpha;
}
}

myGeometry_-dirtyDisplayList();

thanks

Alexandre
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] memory leak with streaming texture

2008-05-09 Thread alexandre amyot murray
Hi,

please forgive my english...

I'm developping an interractive application where people's movement affect
the content of a 3D scene. Somewhere in the appication, when people move,
planty of small insects appears and follow their hands. I modelized these
insects by a small square plane on wich I apply a sequence of PNG image to
give them life. I use texture rectangle to display the images. I made my own
class that manage the sequence of PNG images. So when I make a call to
MyOwnStreamingClass.getNextFrameToDisplay(), it returns me the next image to
display.

To change the image of the textureRectangle of each insect, I do the
following :

--   AInsectTextureRectangle.setImage(
MyOwnStreamingClass.getNextFrameToDisplay() );

But this way, I got a memory leak. I tought that a call to texture.setImage
would delete the last image and replace it by the new one., but it don't
seems to.
So I try another way to change the image :

--   osg::Image* nextImage = MyOwnStreamingClass.getNextFrameToDisplay();

--   osg::Image* textureImage = AInsectTextureRectangle.getImage();
--   textureImage.setImage( ...,   ...,  nextImage .data(), ... );

But it doesn't work either, in fact I got a runtime error this way.

So I would like too know how I should proceed ?

The PNG images are of size 40x40 and a sequence is made of 100 images. I can
have like 50 insects at the same time in the scene.

Thanks in advance

Alexandre
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] memory leak with streaming texture

2008-05-09 Thread alexandre amyot murray
Hi,

can you give me the procedure to install quicktime plugins for window XP.

I try to generate the project with CMake and the quicktime sdk for windows,
but the project did not generate. I used the QTMLClient.lib in the section
QUICKTIME_LIBRARY.

thanks

Alex

2008/5/9 Robert Osfield [EMAIL PROTECTED]:

 Hi Alexandre,

 Doing a texture-setImage(image) will do unref the old image before
 assigning and ref'ing the new one, so memory management should work
 just fine.  The memory leak you are percieving is almost certainly not
 down to the core OSG code like Texutre::setImage.  I'd recommend that
 you double check you own code, and also how you are monitoring the
 memory leak, as sometime the memory tracking tools produce false
 positives.

 As a general comment, I'd also recommend use osg::ImageStream (as
 subclass from osg::Image) as a base for streamed images, the xine and
 quicktime plugins both have movie reading code that provide their own
 subclass from osg:::ImageStream so have a look at these for
 inspiration.

 Robert.

 On Fri, May 9, 2008 at 6:34 PM, alexandre amyot murray
 [EMAIL PROTECTED] wrote:
  Hi,
 
  please forgive my english...
 
  I'm developping an interractive application where people's movement
 affect
  the content of a 3D scene. Somewhere in the appication, when people move,
  planty of small insects appears and follow their hands. I modelized these
  insects by a small square plane on wich I apply a sequence of PNG image
 to
  give them life. I use texture rectangle to display the images. I made my
 own
  class that manage the sequence of PNG images. So when I make a call to
  MyOwnStreamingClass.getNextFrameToDisplay(), it returns me the next image
 to
  display.
 
  To change the image of the textureRectangle of each insect, I do the
  following :
 
  --   AInsectTextureRectangle.setImage(
  MyOwnStreamingClass.getNextFrameToDisplay() );
 
  But this way, I got a memory leak. I tought that a call to
 texture.setImage
  would delete the last image and replace it by the new one., but it don't
  seems to.
  So I try another way to change the image :
 
  --   osg::Image* nextImage = MyOwnStreamingClass.getNextFrameToDisplay();
 
  --   osg::Image* textureImage = AInsectTextureRectangle.getImage();
  --   textureImage.setImage( ...,   ...,  nextImage .data(), ... );
 
  But it doesn't work either, in fact I got a runtime error this way.
 
  So I would like too know how I should proceed ?
 
  The PNG images are of size 40x40 and a sequence is made of 100 images. I
 can
  have like 50 insects at the same time in the scene.
 
  Thanks in advance
 
  Alexandre
 
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
 
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org