# Bump-Mapping unter Java3D?



## BlindGuard (31. Okt 2007)

Hi!

Ich habe ein kleines Problem. Ich möchte gerne auf eine Sphäre, eine normale Textur (Erd-Textur) und dessen Bump-Map-Textur legen (und natürlich auch den Bump-Map-Effekt sehen )

Ich bekomms aber einfach nicht hin 

Also was ich so an Tutorials/Threads gefunden hatte, gings da irgendwie immer um die Normalenvektoren, oder halt primär darum, wie man so eine Bump-Map erstellen lässt. Wie man die allerdings auch BENUTZT stand da irgendwie nie 
Der Begriff mit dem Dot3 ist auch öfters gefallen. Und dass das eine Form des Bump-Mappings ist, ist auch klar. Aber ich raff einfach nicht, wie ich das benutzen soll 

Also ich hab zum Beispiel hier eine TransformGroup, die mir meine "Erde" erstellt (aufs Wichtige reduziert ):

```
private TransformGroup Planet(double groesse, String textur, float abstand, float rotationUmSonne) {
        
        Appearance ap = new Appearance();
        TextureAttributes ta = new TextureAttributes();
        
        ap.setTexture(new TextureLoader("universum\\" + textur + ".jpg", this).getTexture());
        
        Material mat = new Material();
        mat.setAmbientColor(new Color3f(0.0f,0.0f,1.0f));
        mat.setDiffuseColor(new Color3f(0.7f,0.7f,0.7f));
        mat.setSpecularColor(new Color3f(0.7f,0.7f,0.7f));
        ap.setMaterial(mat);
        
        ap.setTextureAttributes(ta);
        
        // Kugel erzeugen
        Sphere sp = new Sphere(1, Sphere.GENERATE_NORMALS | Sphere.GENERATE_TEXTURE_COORDS, 150, ap);
        
        TransformGroup tg0 = new TransformGroup();
        Transform3D tempT3D=new Transform3D();
        
        //Größenanpassung
        tempT3D.setScale(groesse);
        
        //Statische Sachen hinzufügen.
        tg0.setTransform(tempT3D);
        
        tg0.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
        tg0.addChild(sp);
        
        return tg0;
    }
```
Die Texturen hab ich zB von hier: http://planetpixelemporium.com/earth.html
Da gibt es ja auch eine Bump-Map von der Erde. Das heißt, ich muss mir da eigentlich nix neu berechnen oder so.

In den Meisten Threads stand, dass ab Java 1.3 oder so, das BumpMapping eingeführt wurde. Aber gibt es jetzt eine Möglichkeit, das einfach so einzubauen, dass ich jetzt die Bump-Textur dazu lade, dann Java irgendwie sage, "das ist eine Bump-Map-Textur" und der macht das dann? (also so, wie in 3DMax zB?).

Könnte mir da bitte jemand helfen? Ich bin hier echt langsam am verzweifeln  ???:L 

THX,
BG


----------



## Evil-Devil (31. Okt 2007)

Hier mal ein Link dazu:
http://java3d.j3d.org/tutorials/quick_fix/dot3_bumps.html

Hoffe der hilft dir weiter


----------



## BlindGuard (31. Okt 2007)

Sorry.. der hilft mir leider gar nicht.. Habe schon so gut wie jedes Tut dazu gelesen und irgendwie kommt immer nur Kram raus, wenn ich das ausprobiere.

Also den besten "Erfolg" hab ich gehabt, also ich das hier ausprobiert habe http://archives.java.sun.com/cgi-bin/wa?A2=ind0301&L=JAVA3d-interest&D=0&P=63263

Leider sieht das bei mir dann so aus:




Also irgendwie alles SchwarzWeiß, so als ob der die Texturen nicht richtig kombinieren würde. Und von dem Schattenwurf den BumpMapping ja eigentlich ausmacht ist auch nix zu sehen 

Das "Tut" was du gepostet hast hab ich auch schon mal anprobiert. Schwarz-Weißer-Kram kam dabei raus. ich weiß einfach nicht, was ich da vergesse 

Trotzdem danke  :bahnhof:


----------



## Evil-Devil (31. Okt 2007)

Vielleicht zeigst du uns einfach mal dienen Code. Dann kann man gemeinsam schauen was du eventuell vergessen hast.


----------

