Java3D: Kanten die hinter einem Objekt liegen werden gezeigt

Hallo,

ich arbeite an einer Ladeoptimierung.

Ich setze bei meinem Programm Boxen in eine große Box. Dazu habe ich bei der großen Box Frontface Culling benutzt, um in die große Box hineinsehen zu können.

Bei der großen Box wollte ich nun wie bei den kleinen Boxen die Kanten nachzeichnen (mit einer Coboid-Klasse). Aber die Kanten der großen Box (bzw. des Cuboiden) scheinen nun durch die kleinen Boxen durch, obwohl auch auf den Cuboiden Frontface Culling angewendet wurde und deshalb nur die hinteren Linien gezeichnet werden. Die scheinen aber wie gesagt durch.

Ich glaube, dass es am Rendering liegt. Vielleicht liegt es daran, dass die Kisten hinzugefügt werden, nachdem der Truck bereits geladen ist. Allerdings müsste ja dann der Truck gänzlich nach vorne gerendert werden, oder?
Es gibt bei mir eine Truck3D-Klasse, die von Box erbt, und die Cuboid-Klasse. Beiden hängen an derselben TransformGroup.

Komisch ist ja, dass die grauen hinteren Kanten der Ladungsstücke nicht gerendert werden...

Java:
u.getViewer().getView().setTransparencySortingPolicy(View.TRANSPARENCY_SORT_GEOMETRY);
Leider bringt diese Methode für den geschilderten Fall keine Verbesserung.


Zum besseren Verständnis habe ich zwei Screenshots angehängt.

Viele Grüße
 

Anhänge

  • ohne_Umrandung.jpg
    ohne_Umrandung.jpg
    70,1 KB · Aufrufe: 60
  • mit_Umrandung.jpg
    mit_Umrandung.jpg
    69,4 KB · Aufrufe: 51
Note that this policy will not split geometry into smaller pieces, so intersecting or intertwined objects may not be sorted correctly.
Wenn die kleinen Boxen in der großen sind, trifft das wohl zu - aber ich bin nicht 100% sicher, ob das deine Frage beantwortet....
 

Zurück
Oben