yer i no it must be a snap.. i can do it in GL normal action.. maybe i need a book on java3d and stuff?
im probbly doing it all wrong anyways

if anyone can see where i am going wrong- ring me bell, i havent got to all the cool questions yet:
package ant.xith3dtest;
import com.xith3d.scenegraph.*;
import com.xith3d.render.*;
import com.xith3d.render.jogl.*;
import com.xith3d.loaders.ase.*;
import javax.vecmath.*;
import java.util.Random;
import com.xith3d.image.*;
import java.awt.image.*;
import java.io.*;
import com.xith3d.loaders.texture.*;
import java.util.ArrayList;
import net.java.games.input.*;
/**
* <p>Draws a simple cube on the screen</p>
* <p> </p>
* <p>Copyright (c) 2003 David Yazel Copyright (c) 2003</p>
* <p>Company: </p>
* @author David Yazel - aNt messing
* @version 1.0
*/
public class CubeTest3 {
Keyboard kb = null;
public CubeTest3() {
Texture2D textureWood = null;
TextureLoader.tf.registerPath("c:/xith3d/demo/");
TextureLoader.tf.registerPath("./");
TextureLoader.tf.registerPath("../");
BranchGroup landModel = null;
BranchGroup hellcatModel = null;
try {
hellcatModel = AseFile.getModel("hellcat.ase");
} catch (Exception er) {
System.out.println("cant load mod: " + er.toString());
}
Transform3D hellcat_translation = new Transform3D();
Transform3D hellcat_rotation = new Transform3D();
Vector3f hellcat_trans = new Vector3f();
Vector3f hellcat_rota = new Vector3f();
// create a transform and rotation for the hellcat.
TransformGroup hellcat_group_trans = new TransformGroup(hellcat_translation);
TransformGroup hellcat_group_rota = new TransformGroup(hellcat_rotation);
// create a branch group to put in the locale
BranchGroup top_group = new BranchGroup();
BranchGroup hellcat_group = new BranchGroup();
hellcat_group.addChild(hellcat_group_trans);
hellcat_group_trans.addChild(hellcat_group_rota);
hellcat_group_rota.addChild(hellcatModel);
// have also tryed.
// hellcat_group.addChild(hellcat_group_rota);
// hellcat_group_rota.addChild(hellcat_group_trans);
// hellcat_group_rota.addChild(hellcatModel);
top_group.addChild(hellcat_group);
VirtualUniverse universe = new VirtualUniverse();
View view = new View();
view.setFieldOfView(35f * 3.14f / 180f);
Locale locale = new Locale();
universe.addLocale(locale);
universe.addView(view);
locale.addBranchGraph(top_group);
RenderPeer rp = new RenderPeerImpl();
CanvasPeer cp = rp.makeCanvas(null, 640, 480, 32, false);
Canvas3D canvas = new Canvas3D();
canvas.set3DPeer(cp);
canvas.setView(new View());
view.addCanvas3D(canvas);
view.getTransform().lookAt(new Vector3f(0, 0, 950f), new Vector3f(0, 0, 0),
new Vector3f(0, 1, 0));
view.setTransparencySortingPolicy(view.TRANSPARENCY_SORT_GEOMETRY);
// view.setSceneAntialiasingEnable(true);
// Background bgcolor = new Background(new Color3f(0f, 0f, 1f));
// view.addChild(bgcolor);
ControllerEnvironment ce = ControllerEnvironment.getDefaultEnvironment();
Controller[] cont = ce.getControllers();
System.out.println("cont: " + cont.length);
for(int i = 0; i < cont.length; i++) {
if(cont
.getType() == cont.getType().KEYBOARD) {
kb = (Keyboard) cont;
}
}
long startTime = System.currentTimeMillis();
long numFrames = 0;
float anum = 0f;
////////////////////////////////////////////////// RENDER!
for (int i = 0; i < 10000; i++) {
numFrames++;
keyboardupdate();
hellcat_trans.z = hellcat_trans.z + -5f;
hellcat_translation.setTranslation(hellcat_trans);
hellcat_rotation.rotXYZ(updown, 0f, leftright);
hellcat_group_trans.setTransform(hellcat_translation);
hellcat_group_rota.setTransform(hellcat_rotation);
view.getTransform().lookAt(new Vector3f(0f, 0f, 1000f),
new Vector3f(0f, 0f, 1f), new Vector3f(0, 1, 0));
view.renderOnce();
}
long deltaTime = (System.currentTimeMillis() - startTime) / 1000;
if (deltaTime > 0) {
System.out.println("done frame speed test at " + (numFrames) / (deltaTime) +
" fps");
System.out.println("there are " + canvas.get3DPeer().getTriangles() +
" triangles in scene");
System.out.println("rendering " +
canvas.get3DPeer().getTriangles() * (numFrames) /
(deltaTime) + " triangles/sec");
}
System.out.println(" Num frames = " + numFrames);
System.out.println(" Delta ms = " + deltaTime);
System.exit(0);
}
float updown = 0f;
float leftright = 0f;
public void keyboardupdate() {
kb.poll();
Axis[] ax = kb.getAxes();
for (int x = 0; x < ax.length; x++) {
float num = ax- .getPollData();
if (num != ax - .getDeadZone()) {
// System.out.println("key: " + ax - .getName());
if (ax - .getName().equalsIgnoreCase("key 113")) {
// System.out.println("right arrow");
leftright = (leftright - 0.01f);
}
if (ax - .getName().equalsIgnoreCase("key 112")) {
// System.out.println("left arrow");
leftright = (leftright + 0.01f);
}
if (ax - .getName().equalsIgnoreCase("key 110")) {
// System.out.println("up arrow");
updown = (updown - 0.01f);
}
if (ax - .getName().equalsIgnoreCase("key 115")) {
// System.out.println("down arrow");
updown = (updown + 0.01f);
}
}
}
}
public static void main(String[] args) {
CubeTest3 cubeTest1 = new CubeTest3();
}
}