Hello...
I have just started using Xith and I was wondering if some one could help me...
I am trying to import a .obj model (Wavefront object) which I exported from Blender.
I have no problems getting the model to display, the problem is that it doesn't have any
of it's textures that where loaded in Blender. The model just displays in black.
I am doing some thing wrong when exporting from Blender or when I pull the model into the program?
My code is as follows
import org.xith3d.loaders.models.impl.obj.OBJLoader;
import org.xith3d.loaders.models.impl.obj.OBJModel;
import org.xith3d.render.base.Xith3DEnvironment;
import org.xith3d.render.canvas.Canvas3DWrapper;
import org.xith3d.render.canvas.Canvas3DWrapper.Resolution;
import org.xith3d.render.loop.RenderLoop;
import org.xith3d.scenegraph.Node;
import org.xith3d.scenegraph.Transform3D;
import org.xith3d.scenegraph.TransformGroup;
import org.xith3d.utility.interpolate.AngleInterpolater;
public class LearningXithModel extends RenderLoop{
private Transform3D t3d;
private TransformGroup tg;
private AngleInterpolater angleX;
private AngleInterpolater angleY;
private Node createScene() throws Exception{
OBJModel model;
model = new OBJLoader().loadModel("test.obj");
t3d = new Transform3D();
tg = new TransformGroup( t3d );
tg.addChild( model );
return(tg);
}
protected void onRenderLoopStarted(){
angleX = new AngleInterpolater(0.0f, 1.0f,
0.0f, (float)Math.PI * 2.0f, true );
angleY = new AngleInterpolater(0.0f, 1.0f,
0.0f, (float)Math.PI * 2.0f, true );
angleX.startIncreasing(this.getGameTime());
angleY.startIncreasing(this.getGameTime());
}
protected void loopIteration(long gameTime, long frameRate){
t3d.rotXYZ(angleX.getValue(gameTime),
angleY.getValue(gameTime), 0.0f);
tg.setTransform(t3d);
super.loopIteration(gameTime, frameRate);
}
public LearningXithModel() throws Exception{
super( 128L );
Xith3DEnvironment env = new Xith3DEnvironment( this );
Canvas3DWrapper canvas = Canvas3DWrapper.createStandalone(
Resolution.RES_800X600,
"My empty scene" );
env.addCanvas(canvas);
env.addChild(createScene());
this.begin();
}
public static void main(String[] args)throws Exception
{
new LearningXithModel();
}
}
Thanks for any help.
Boerboon
P.S. Xith is great!!