# JOGL Cubus mit Rand darstellen



## Melkor (20. Sep 2012)

Hallo,

vielleicht ist die Frage zu simpel, aber ich sehe nich, wie ich das am geeignesten lösen soll. 

Ich möchte in JOGL einen Cubus darstellen. Allerdings soll der Cubus (mittel gluSolidCube darsgestellt) unbedingt einen sichtbaren, andersfarbigen Linenrand bekommen, d.h. die Kanten sollen sichtbar sein, so wie sie es z.b. mit gluWireCube der Fall ist. Beides zu zeichen führ bei mir zu keiner Lösung, da sich dann der solide Cubus und der wire Cubus am Rand um die Farbe 'streiten' und es merkwürdig aussieht. 

Nun hatte ich auch versucht, den soliden Kubus ein wenig kleiner zu sklarieren, aber das sieht nur gut aus, wenn man nicht zu nah und nicht zu fern is (die Szene is frei zoombar).

Hat jemand eine Idee?

Da ich sehr viele Cubus in einer Simulation darstellen möchte und kein Licht o.Ä. benötigt wird, hatte ich die Hoffnung auf das Thema Texturen herumzukommen und alls FLAT zu zeichnen.


----------



## Spacerat (20. Sep 2012)

Der Ansatz mit dem WiredCube ist schon der richtige, nur dass sich der Scaleunterschied in Abhängigkeit zum Zoom ändern sollte und dann evtl. auch nur im 1/1000 Bereich (Displacement-Maps arbeiten da ähnlich, nur halt Pixel basierend). Wird der Würfel klein dargestellt, wäre der WiredCube z.B. 1/1000 grösser als der SolidCube. Bei der grösstmöglichen Darstellung evtl. nur noch 1/100000.
Mit Texturen geht das natürlich viel simpler und schicker.


----------



## Guest2 (20. Sep 2012)

Moin,

praktisch alle glu* Methoden wurden entworfen, um kurze akademische Beispiele zu ermöglichen. In realen Anwendungen sollten diese nicht verwenden werden, insbesondere wenn es um "sehr viele" gehen soll.

Gute Artikel zum Lesen sind:

Primitive - OpenGL.org
Vertex Specification - OpenGL.org
Vertex Rendering - OpenGL.org

Das oben beschriebene "streiten" nennt man auch oft zFighting. Beeinflussen kann man das über 
glDepthFunc(GL_LEQUAL) und oder glPolygonOffset().


Viele Grüße,
Fancy


----------



## Melkor (21. Sep 2012)

Ja, mit glPolygonOffset funktionierts. Dann geht es auch ohne extra wire cube, wenn das polygon model umgeschaltet wird.

Vielen Dank


----------

