Bump-Mapping unter Java3D?

  • Themenstarter Themenstarter BlindGuard
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

BlindGuard

Gast
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 😉):
Code:
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
 
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:
 
Vielleicht zeigst du uns einfach mal dienen Code. Dann kann man gemeinsam schauen was du eventuell vergessen hast.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben