I coded up the ‘HelloXith3D’ code in the getting_started_guide.pdf file.
On two different machines I have compiled this code (both against the CVS HEAD and the last stable release) And on both machines I get a NullPointerException:
java.lang.NullPointerException
at com.xith3d.render.jogl.ShapeAtomPeer.renderAtom(ShapeAtomPeer.java:688)
at com.xith3d.render.CanvasPeerBase.render(CanvasPeerBase.java:102)
at com.xith3d.render.jogl.CanvasPeerImpl.drawBin(CanvasPeerImpl.java:678)
at com.xith3d.render.jogl.CanvasPeerImpl.display(CanvasPeerImpl.java:849)
at net.java.games.jogl.impl.GLDrawableHelper.display(GLDrawableHelper.java:74)
at net.java.games.jogl.GLCanvas$DisplayAction.run(GLCanvas.java:194)
at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:192)
at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:182)
at net.java.games.jogl.GLCanvas.display(GLCanvas.java:82)
at com.xith3d.render.jogl.CanvasPeerImpl.render(CanvasPeerImpl.java:950)
at com.xith3d.scenegraph.View.renderOnce(View.java:732)
at com.xith3d.scenegraph.View.renderOnce(View.java:665)
at com.xith3d.scenegraph.View$ViewRunner.run(View.java:1334)
at java.lang.Thread.run(Unknown Source)
The main bit of the code is like so:
public XithHello() {
VirtualUniverse universe = new VirtualUniverse();
View view = new View();
universe.addView(view);
Locale locale = new Locale();
universe.addLocale(locale);
BranchGroup scene = new BranchGroup();
locale.addBranchGraph(scene);
Transform3D rotate = new Transform3D();
rotate.rotXYZ((float) Math.PI / 4, (float) Math.PI / 5, (float) Math.PI / 2);
TransformGroup objRotate = new TransformGroup(rotate);
scene.addChild(objRotate);
// create Cube
Geometry g = Cube.createCubeViaTriangles(0, 0, 0, 1, true);
Shape3D sh = new Shape3D(g);
objRotate.addChild(sh);
scene.compile();
RenderPeer rp = new RenderPeerImpl();
CanvasPeer cp = rp.makeCanvas(null, 640, 480, 32, false);
Canvas3D canvas = new Canvas3D();
canvas.set3DPeer(cp);
view.addCanvas3D(canvas);
view.getTransform().lookAt(new Vector3f(0, 0, 2.41f), // location of eye
new Vector3f(0, 0, 0), // center of view
new Vector3f(0, 1, 0)); // vector pointing up
view.startView();
}

