Author Topic: Textur verschwommen  (Read 3783 times)

Offline Xerses

  • byte
  • *
  • Posts: 1
    • View Profile
Textur verschwommen
« on: May 10, 2012, 05:52:52 pm »
Hallo zusammen,

ich bin gerade dabei mich mit jPCT zu beschäftigen und stoße schon auf erste Probleme. Könnte also sein, dass ich öffters hier im "German Corner" etwas poste.

Nun zu meinem eigentlichen Problem.

Wie im Titel bereits zu erkennen habe ich das Problem, dass die Textur, die ich auf eine einfache Box platzieren, deutlich verschwommen dargestellt wird. Vorallem wenn die Box rotiert wird, sieht es so aus als ob sich die Textur nicht mitrotieren würde.

Code: [Select]
import java.awt.Color;

import org.lwjgl.opengl.Display;

import com.threed.jpct.*;

public class HelloWorld {

World world;
Camera camera;
FrameBuffer buffer;
TextureManager texManager;

Object3D box;

public HelloWorld() {
Config.maxPolysVisible = 10000;
Config.farPlane = 4000;

world = new World();
world.setAmbientLight(120, 120, 120);

camera = world.getCamera();
texManager = TextureManager.getInstance();
buffer = new FrameBuffer(800, 600, FrameBuffer.SAMPLINGMODE_NORMAL);
buffer.disableRenderer(IRenderer.RENDERER_SOFTWARE);
buffer.enableRenderer(IRenderer.RENDERER_OPENGL);

box = Primitives.getBox(1.0f, 2.0f);
texManager.addTexture("box", new Texture("test.png"));
box.setTexture("box");
box.setEnvmapped(Object3D.ENVMAP_ENABLED);
box.build();
world.addObject(box);

camera.setPosition(0, -5, 10);
camera.lookAt(box.getTransformedCenter());

render();
}

private void render() {
while(!Display.isCloseRequested()) {
Display.sync(60);

box.rotateY(0.01f);
box.rotateX(0.01f);

buffer.clear(Color.CYAN);
world.renderScene(buffer);
world.draw(buffer);
buffer.update();
buffer.displayGLOnly();
}

buffer.disableRenderer(IRenderer.RENDERER_OPENGL);
buffer.dispose();
System.exit(0);
}

public static void main(String[] args) {
new HelloWorld();
}
}

Die Textur sieht so aus



Und das gerenderte Bild so





VG

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12295
    • View Profile
    • http://www.jpct.net
Re: Textur verschwommen
« Reply #1 on: May 11, 2012, 08:19:21 am »
Da ist eigentlich nichts "verschwommen". Du hast nur Enviroment-Mapping an (box.setEnvmapped(Object3D.ENVMAP_ENABLED)) und dann sieht das eben so aus. Die Objekte, die über die Primitives-Klasse erzeugt werden, haben keine richtigen Texturkoordinaten. Deswegen schalten die Beispiele oft das Env-Mapping an, damit man überhaupt was von der Textur sieht.