public BranchGroup createSceneGraph() {
		rotation = new Quat4d(0, 0, 0, 1);
		physicsThread = new Thread(new PhysicsLoop());
		// Create the root of the branch graph
		BranchGroup branchGroup = new BranchGroup();

		// Create a simple shape leaf node, add it to the scene graph.
		Box cube = new Box(0.25f, 0.5f, 0.25f, null);
		cubeTrans = new TransformGroup();
		cubeTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
		trans.setTranslation(new Vector3f(0.0f, 0.0f, 0.0f));
		trans.setRotation(rotation);
		cubeTrans.setTransform(trans);
		cubeTrans.addChild(cube);
		branchGroup.addChild(cubeTrans);
		
		Box cube2 = new Box(0.25f, 0.5f, 0.25f, null);
		cubeTrans2 = new TransformGroup();
		cubeTrans2.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
		trans.setTranslation(new Vector3f(0.0f, 0.0f, 0.0f));
		trans.setRotation(new Quat4d(0, 0, 1, 1));
		cubeTrans2.setTransform(trans);
		cubeTrans2.addChild(cube2);
		branchGroup.addChild(cubeTrans2);

		BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0),
				100.0);
		Color3f light1Color = new Color3f(0.2f, 2.0f, 0.0f);
		Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
		DirectionalLight light1 = new DirectionalLight(light1Color,
				light1Direction);
		light1.setInfluencingBounds(bounds);
		branchGroup.addChild(light1);
		// Set up the ambient light
		Color3f ambientColor = new Color3f(0.0f, 0.2f, 1.0f);
		AmbientLight ambientLightNode = new AmbientLight(ambientColor);
		ambientLightNode.setInfluencingBounds(bounds);
		branchGroup.addChild(ambientLightNode);
		return branchGroup;
	}