Hi group,
I'm trying to use TextureUnitState in an Appearance to apply
different Textures to different parts of the Geometry contained
in only one Shape3D.
My code is as follows:
/**
* Returns the Appearance for a house containing 2 Textures,
* one for the 4 walls, the other for the roof.
*/
protected Appearance getHouseAppearance() {
if (houseAppearance == null) {
houseAppearance = new Appearance();
TextureUnitState tus = new TextureUnitState();
tus.setTexture(getTexture("facade.gif"));
// the texture IS returned, definitely
houseAppearance.setTextureUnitState(0, tus); // <=====
tus = new TextureUnitState();
tus.setTexture(getTexture("roof.gif"));
houseAppearance.setTextureUnitState(1, tus);
}
return houseAppearance;
}
However, at the marked line of code, I get this exception:
java.lang.NullPointerException
at javax.media.j3d.AppearanceRetained.setTextureUnitState(AppearanceRetained.java:665)
at javax.media.j3d.Appearance.setTextureUnitState(Appearance.java:687)
at Zoom.getHouseAppearance(Zoom.java:310)
at Zoom.createHouse(Zoom.java:298)
at Zoom.createCity(Zoom.java:144)
at Zoom.createSceneGraph(Zoom.java:118)
at Zoom.init(Zoom.java:435)
at com.sun.j3d.utils.applet.JMainFrame.run(JMainFrame.java:180)
at java.lang.Thread.run(Thread.java:536)
What am I doing wrong?
Or might this be a bug in J3D 1.3 beta2?
regards
Georg
___ ___
| + | |__ Georg Rehfeld Woltmanstr. 12 20097 Hamburg
|_|_\ |___ [EMAIL PROTECTED] +49 (40) 23 53 27 10
===========================================================================
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".