hi, wie ihr schon seht geht bei mir das antialiasing nicht
ich komme nur leider nicht drauf wieso , da ich laut api eigentlich alles richtig gemacht habe(denk ich zumindest)
in den bildern seht ihr bei "aufzeichnen" meine linie ohne line Attributes...bei "Aufzeichnen2" mit LineAtributes+AntiAliasinf = true (wieso ist das nun dunkel??) .. und bei "anti", wie der effekt eigentlich sein sollte
könnt ihr mir helfen?
EDIT:
ok ich bin mal mit dem orbitbehav. "näher ran gegangen"
es scheint mir so das der das aliasing macht...
aber das neue "layout" der linie führt immernoch zur Annahme, das es pixlig ist...
wieso bleibt die linie nicht einfach weiß, so wie es angegeben wurde....
und wie bekomm ich das hin ???:L
wieder EDIT:
ok ich hab jetzt rumprobiert und getestet.. da noch keiner was geschrieben hat(post ist zugegenermaßen nicht lang her ^^) schreib ich einfach mal meine vermutung ... und hoff, das mir diese jemand bestätigt oder um die ohren haut
ich denk mir mal das die linie zu "dünn" ist, und aus irgendwelchen gründen die "hauptlinie"(oder besser der "linienstamm") bei einer solchen breite nicht weiß bleibt- oder man sieht es nicht, da die ränder ja durch das amti-aliasing interpoliert werden...und somit "schwammiger" sind
so das ist meine vermutung ... lieg ich da richtig
ich komme nur leider nicht drauf wieso , da ich laut api eigentlich alles richtig gemacht habe(denk ich zumindest)
Java:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
import javax.media.j3d.Appearance;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.ColoringAttributes;
import javax.media.j3d.LineArray;
import javax.media.j3d.LineAttributes;
import javax.media.j3d.Shape3D;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.vecmath.Color3f;
import javax.vecmath.Point3f;
import javax.vecmath.Vector3f;
import com.sun.j3d.utils.universe.SimpleUniverse;
public class antiAliasing extends Applet{
Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
public void init(){
System.out.println("init");
setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D c= new Canvas3D(config);
add("Center", c);
SimpleUniverse u = new SimpleUniverse(c);
// verschiebe ViewingPlatform:
TransformGroup vpTG = null;
Transform3D vpT3D = new Transform3D();
vpTG = u.getViewingPlatform().getViewPlatformTransform();
vpT3D.set(new Vector3f(0.0f, 0.0f, 10.0f));
vpTG.setTransform(vpT3D);
// u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(createSceneGraph());
}
private BranchGroup createSceneGraph() {
// TODO Auto-generated method stub
BranchGroup rootBG = new BranchGroup();
Appearance app = new Appearance();
//app.setLineAttributes(new LineAttributes(1, LineAttributes.PATTERN_SOLID, true));
ColoringAttributes ca = new ColoringAttributes(white,ColoringAttributes.SHADE_FLAT);
LineAttributes la = new LineAttributes(2, LineAttributes.PATTERN_SOLID, true);
app.setColoringAttributes(ca);
app.setLineAttributes(la);
// Plain line
Point3f[] plaPts = new Point3f[2];
plaPts[0] = new Point3f(-0.9f, -0.7f, 0.0f);
plaPts[1] = new Point3f(-0.5f, 0.7f, 0.0f);
LineArray pla = new LineArray(2, LineArray.COORDINATES);
pla.setCoordinates(0, plaPts);
Shape3D plShape = new Shape3D(pla, app);
rootBG.addChild(plShape);
return rootBG;
}
}
in den bildern seht ihr bei "aufzeichnen" meine linie ohne line Attributes...bei "Aufzeichnen2" mit LineAtributes+AntiAliasinf = true (wieso ist das nun dunkel??) .. und bei "anti", wie der effekt eigentlich sein sollte
könnt ihr mir helfen?
EDIT:
ok ich bin mal mit dem orbitbehav. "näher ran gegangen"
es scheint mir so das der das aliasing macht...
aber das neue "layout" der linie führt immernoch zur Annahme, das es pixlig ist...
wieso bleibt die linie nicht einfach weiß, so wie es angegeben wurde....
und wie bekomm ich das hin ???:L
wieder EDIT:
ok ich hab jetzt rumprobiert und getestet.. da noch keiner was geschrieben hat(post ist zugegenermaßen nicht lang her ^^) schreib ich einfach mal meine vermutung ... und hoff, das mir diese jemand bestätigt oder um die ohren haut
ich denk mir mal das die linie zu "dünn" ist, und aus irgendwelchen gründen die "hauptlinie"(oder besser der "linienstamm") bei einer solchen breite nicht weiß bleibt- oder man sieht es nicht, da die ränder ja durch das amti-aliasing interpoliert werden...und somit "schwammiger" sind
so das ist meine vermutung ... lieg ich da richtig
Anhänge
Zuletzt bearbeitet: