Removing a node from the scene

New Message Reply Date view Thread view Subject view Author view

From: Yves Strube (czys++at++ocag.ch)
Date: 11/29/2001 04:08:49


Hi all,

I have a panorama integrated in my scene graph and would like to
exchange the whole panorama while the image generation is running,
i.e. the render loop is executed. I have two different panoramas in
.flt files. My program uses pfMultiprocess(PFMP_APPCULLDRAW), i.e. a
single process.
On program start I load panorama1 and integrate it into the scene by
calling pfScene::addChild(). Then I enter the rendering loop and
panorama1 is displayed correctly.
Now on pressing a key I want to replace panorama1 by panorama2. So in my
APP stage I remove panorama1 by calling pfScene::removeChild() and
delete the panorama1 objects via pfDelete(). Then I load panorama2 from
the file and integrate it into the scene by pfScene::addChild(). The
loading takes some time and the render loop is of course blocked until
this is done. Then on the next pfFrame() call the image is updated
correctly but afterwards the image is no more updated for several
seconds up to a minute though the render loop is executed. I calculate
some intersections within the render loop and these are reported
correctly but the image is frozen, i.e. no updates occur.

If I remove the deletion of panorama1 from the code, i.e. only call
pfScene::removeChild() but do not call pfDelete() then the image is
updated as expected.

So deleting the old node from memory freezes the image but not the
rendering loop since intersections are calculated correctly.

What is the problem?

Thanks in advance for any answers,
Yves

-- 

Oerlikon-Contraves AG Yves Strube, S-EMI Birchstr. 155 Email: czys++at++ocag.ch CH-8050 Zurich Phone: +41 1 316 2675 Switzerland Fax: +41 1 316 2032


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Thu Nov 29 2001 - 04:06:30 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.