Hi Bradley,

   You can try to press Ctrl-Break and see where it hangs
from the stack trace. It would be great if you can
send us a complete test program to investigate.

  A possible workaround maybe calling
waitForOffScreenRendering() inside a Behavior thread
instead of user thread.

Thanks.

- Kelvin
------------------
Java 3D Team
Sun Microsystems Inc.


>Delivered-To: [EMAIL PROTECTED]
>X-Sender: [EMAIL PROTECTED]
>Mime-Version: 1.0
>Date: Thu, 14 Feb 2002 09:54:36 +1100
>From: Bradley White <[EMAIL PROTECTED]>
>Subject: [JAVA3D] waitForOffScreenRendering goes CPU hog
>Comments: cc: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>
>I have the following Branch group for the View Platform side of the
>scene graph:
>
>
>VP ------------ Viewa ----------- Canvas3Da
>|
>|
>Viewb ---------- Canvas3Db
>|
>|
>Canvas3Dc (Off screen canvas)
>
>The Canvas3Da node and its View node represents an alternative view
>of the 3D world is created thus:
>
>        // Create a second view on the second canvas, attach it to
>        // the viewing platform
>        View viewb = new View();
>        viewb.setWindowResizePolicy( View.VIRTUAL_WORLD );
>        View view0 = canvas3Db.getView();
>        viewb.setPhysicalBody( view0.getPhysicalBody() );
>        viewb.setPhysicalEnvironment( view0.getPhysicalEnvironment() );
>        viewb.attachViewPlatform( canvas3Db.getViewPlatform() );
>        viewb.addCanvas3D( canvas3Da );
>
>The Canvas3Db  is the "main" view of the world and Canvas3Dc is an
>off screen canvas to support screen capture.
>
>The Canvas3Dc is attached to the Canvas3Db View with:
>
>         canvas3Db.getView().addCanvas3D(canvas3Dc);
>
>I am attempting to capture a snapshot of the canvas3Db using the  off screen
>canvas, canvas3Dc, with :
>
>         BufferedImage image = new
>BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);
>         ImageComponent2D buffer = new
>ImageComponent2D(ImageComponent.FORMAT_RGBA, image);
>         buffer.setCapability(ImageComponent2D.ALLOW_IMAGE_READ);
>
>         canvas3Dc.setOffScreenBuffer(buffer);
>         canvas3Dc.renderOffScreenBuffer();
>
>         canvas3Dc.waitForOffScreenRendering(); <-- At this point my
>program goes CPU hog and never returns.
>
>Can any one see any problems in what I'm trying to do?
>
>Brad.
>
>===========================================================================
>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>of the message "signoff JAVA3D-INTEREST".  For general help, send email to
>[EMAIL PROTECTED] and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to