Main Menu

Textur

Started by Empire, April 25, 2011, 08:31:27 PM

Previous topic - Next topic

Empire

Ich hab ein kleines Problem mit einer Textur.
Das ist der Relevante Code:
TextureManager.getInstance().addTexture("Rasse1", new Texture("Rasse1.jpg"));
Obj.setTexture("Rasse1");
SimpleVector vec1 = new SimpleVector(0f, 0f, 60f);
SimpleVector vec2 = new SimpleVector(-20f, -17.32f, 0f);
SimpleVector vec3 = new SimpleVector(20f, -17.32f, 0f);
Obj.addTriangle(vec1, 0,0, vec2, 0,256, vec3, 256,0);

Es gibt keine fehlermeldung:
Loading Texture...Rasse1.jpg
Java version is: 1.6.0_24
-> support for BufferedImage
Version helper for 1.5+ initialized!
-> using BufferedImage
Software renderer (OpenGL mode) initialized
Using LWJGL's AWTGLCanvas
Software renderer disposed
Driver is: ati2dvag/6.14.10.6660 on ATI Technologies Inc. / Radeon X1650 Series x86/MMX/3DNow!/SSE2
GL_ARB_texture_env_combine supported and used!
FBO supported and used!
OpenGL renderer initialized (using 4 texture stages)
Visibility lists disposed!

Aber das komplette Object ist leucht Gründ, obwohl es in der Textur nur schwarz und grau gibt.
Kann mir einer erklären, an welcher stelle ich diesesmal mein Hirn abgeschalten hab???

mfg
Empire

EgonOlsen

Hat das Rassel-Objekt denn Texturkoordinaten? Und ist eine zusätzliche Farbe definiert und ist die vielleicht grün?

Empire

QuoteHat das Rassel-Objekt denn Texturkoordinaten?
Wie meinst du das?
Es ein .jpg 256x256 Pixel groß.

mfg
Empire

PS: Es heist Rasse1 nicht Rassel :P

EgonOlsen

Ich meinte nicht die Textur, sondern das Objekt, wo du sie drauf "kleben" willst....

Empire

Ich hab grade heraus gefunden warum die Textur grün war.
Das AmbientLight war noch von HelloWorld auf grün gestellt.
Und ich glaube auch zu wissen was das andere Problem ist.
Steht nicht irgendwo, das die Textur nicht am Object fest
gemacht ist?(Oder so ähnlich?)
Wenn ja wie stellt man das um?

mfg
Empire

EgonOlsen

HelloWorld nutzt Environment Mapping...evtl. meinst du das mit "nicht fest gemacht". Ansonsten muss dein Objekt halt Texturkoordinaten mitbringen. Das war meine anfängliche Frage, bzw. der Versuch derselben... ;)

Empire

Sorry das ich mich so dumm anstelle, aber wie geb ich dem Object
Texturkoordinaten mit?

EgonOlsen

Das kommt darauf an, was das für ein Objekt ist. Wenn es aus einem Editor (3ds, blender, milkshape...) kommt, dann dort. Wenn du es direkt mit jPCT zusammenbaust, dann in der addTriangle(...)-Methode.

Empire

Obj.addTriangle(vec1, 0,0, vec2, 0,256, vec3, 256,0);
So müsste es doch richtig sein.
Ein Punkt, dann die zwei Koordinaten für den Punkt auf der Textur.

EgonOlsen

Jein...die Texturkoordinaten müssen normalisiert angegeben werden, also von [0..1]. In deinem Beispiel wäre das dann

Obj.addTriangle(vec1, 0,0, vec2, 0,1, vec3, 1,0);

Dann noch Environment Mapping abschalten, wenn du noch an sein sollte...und dann sollte eigentlich was erscheinen.

Empire

Danke endlich sieht das nach was aus.

mfg
Empire