Attached are two programs which demonstrate what appear to be two different potential bugs in Java3D 1.3b1. Each program demonstrates *both* bugs, the difference is one uses Appearance.setTexture() directly and the other uses TextureUnitState.setTexture().
The setTexture() bug is mission-critical for us, as it would be I imagine for anyone doing e.g. large segmented terrain navigation with per-segment texture LOD switching. The details are described in the header comments: * File: MultipleSetTextureBug.java * Author: Marty Vona ([EMAIL PROTECTED]) * Created: 1/14/02 * * Description: Demonstrates application hang bug with calling setTexture() on * many different Appearances, without using TextureUnitState. Also * demonstrates a won't render before canvas resize bug. * * Required files: apimage.jpg, bg.jpg from the Java3D demo/java3d/images * directory (must be placed in current directory) * * Tested on two platforms: * * Sun J2SDK1.4b3 + Blackdown Java3D 1.3b1 on * Linux 2.4.9-12 + XFree86 4.0.3 + NVidia 2313 + NVidia GeForce2 MXR * * Sun J2SDK1.4b3 + Sun Java3D 1.3b1 on * Windows 2000p2 + NVidia GeForce2 MXR * * NVidia "TwinView" enabled in both cases. * * Bug 1: 25 rotating tetrahedron Shape3Ds are created, each with its own * Appearance. Two Textures are created and are assigned alternately to the * tetrahedrons in checkerboard fashion. Every 500ms one of the Appearances is * toggled to the other texture. After a short time (varies, usually less than * 30 seconds) the entire application hangs. * * Bug 2: Upon startup, nothing is rendered until the application frame is * resized by the user. * * Adapted from: AppearanceTest.java 1.26 01/06/20 16:17:56 ----- * File: MultipleSetTextureBugTUS.java * Author: Marty Vona ([EMAIL PROTECTED]) * Created: 1/14/02 * * Description: Demonstrates application hang bug with calling setTexture() on * many different Appearances, using TextureUnitState. Also * demonstrates a won't render before canvas resize bug. * (rest same) Marty Vona NASA/JPL SAP Developer
MultipleSetTextureBug.java
Description: Binary data
MultipleSetTextureBugTUS.java
Description: Binary data
