Das ist das Tutorial:
Java3D Tutorial: Simple Texture Mapping
Das hab ich eingegeben... Auch das Brick.jpg hab ich runtergeladen.
Jedoch kommt bei mir immer die Fehlermeldung
Wie kann das sein? Ich finde den Fehler irgendwie nicht :autsch::autsch::autsch:
Gruß Toblo
Java3D Tutorial: Simple Texture Mapping
Java:
import java.awt.Frame;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.image.TextureLoader;
public class lesson05 extends Applet {
SimpleUniverse simpleU;
static boolean application = false;
public BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
Appearance polygon1Appearance = new Appearance();
QuadArray polygon1 = new QuadArray (4,QuadArray.COORDINATES | GeometryArray.TEXTURE_COORDINATE_2);
polygon1.setCoordinate (0, new Point3f (0f, 0f, 0f));
polygon1.setCoordinate (1, new Point3f (2f, 0f, 0f));
polygon1.setCoordinate (2, new Point3f (2f, 3f, 0f));
polygon1.setCoordinate (3, new Point3f (0f, 3f, 0f));
polygon1.setTextureCoordinate (0, new Point2f(0.0f,0.0f));
polygon1.setTextureCoordinate (1, new Point2f(1.0f,0.0f));
polygon1.setTextureCoordinate (2, new Point2f(1.0f,1.0f));
polygon1.setTextureCoordinate (3, new Point2f(0.0f,1.0f));
if (application == true){
Texture texImage = new TextureLoader("brick.jpg", this).getTexture();
polygon1Appearance.setTexture (texImage);
}
else {
try
{
java.net.URL texImage = new java.net.URL (getCodeBase (), "brick.jpg");
Texture brick= new TextureLoader (texImage, this).getTexture ();
polygon1Appearance.setTexture (brick);
}
catch (java.net.MalformedURLException ex){}
}
objRoot.addChild (new Shape3D (polygon1, polygon1Appearance));
return objRoot;
}
public lesson05 (){
}
public void init() {
setLayout(new BorderLayout());
Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
add("Center", c);
BranchGroup scene = createSceneGraph();
simpleU = new SimpleUniverse(c);
TransformGroup tg = simpleU.getViewingPlatform().getViewPlatformTransform();
Transform3D t3d = new Transform3D();
t3d.setTranslation(new Vector3f(0f,0f,10f));
tg.setTransform(t3d);
scene.compile();
simpleU.addBranchGraph(scene);
}
public void destroy(){
simpleU.removeAllLocales();
}
public static void main(String[] args) {
application = true;
Frame frame = new MainFrame(new lesson05(), 500, 500);
}
}
Das hab ich eingegeben... Auch das Brick.jpg hab ich runtergeladen.
Jedoch kommt bei mir immer die Fehlermeldung
Java:
Exception in thread "Thread-2" com.sun.j3d.utils.image.ImageException: javax.imageio.IIOException: Can't read input file!
at com.sun.j3d.utils.image.TextureLoader$1.run(TextureLoader.java:344)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.j3d.utils.image.TextureLoader.<init>(TextureLoader.java:337)
at com.sun.j3d.utils.image.TextureLoader.<init>(TextureLoader.java:291)
at lesson05.createSceneGraph(lesson05.java:46)
at lesson05.init(lesson05.java:89)
at com.sun.j3d.utils.applet.MainFrame.run(MainFrame.java:267)
at java.lang.Thread.run(Thread.java:722)
Caused by: javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(ImageIO.java:1301)
at com.sun.j3d.utils.image.TextureLoader$1.run(TextureLoader.java:342)
... 7 more
Wie kann das sein? Ich finde den Fehler irgendwie nicht :autsch::autsch::autsch:
Gruß Toblo
Zuletzt bearbeitet: