6 Stimmen

Welche Möglichkeiten gibt es, 3D-Bäume mit Java und OpenGL zu zeichnen?

Ich weiß, wie man einfache Objekte mit JOGL oder LWJGL zeichnet, um eine Verbindung zu OpenGL herzustellen. Was ich möchte, ist etwas, das eine Art von Geometrie für Bäume generieren kann, ähnlich dem, wofür SpeedTree berühmt ist. Offensichtlich erwarte ich nicht die gleiche Qualität wie SpeedTree.

Ich möchte, dass die Bäume nicht repetitiv aussehen. Geschwindigkeit ist kein Thema, ich erwarte nicht, dass ich mehr als 100 Bäume auf einmal auf dem Bildschirm brauche.

Gibt es kostenlose Bibliotheken zum Zeichnen von Bäumen in Java? Oder Beispielcode oder Demos? Gibt es etwas in anderen Sprachen, das ich portieren oder von dem ich lernen könnte?

4voto

Boune Punkte 1043

2voto

workmad3 Punkte 24502

Es gibt Tausende von Methoden. Eine bessere Frage wäre, den Begriff "am besten" enger zu fassen. Meinen wir mit "am besten" die Geschwindigkeit des Zeichnens (geeignet für Tausende oder Millionen von Bäumen)? Beste im Sinne von am besten aussehend? usw.

2voto

PhiLho Punkte 39496

2D oder 3D?
In 2D ist die Verwendung von L-Systemen eine gängige Methode.
Ich habe auch einen OO-Ansatz versucht, indem ich Objekte für Stamm, Äste und Blätter definiert habe, die alle eine abstrakte Klasse erweitern und eine Genotype-Schnittstelle implementieren (um die Art der Bäume zu variieren).
Ich bin mir nicht sicher, ob das effizient ist (es werden viele Objekte erstellt, vor allem, wenn ich den Baum animiere), aber es ist interessant zu tun.

1voto

thekidder Punkte 3408

Hier sind einige Ressourcen, die hilfreich sein können:

  • Gamedev-Thread zu diesem Thema - enthält einige nützliche Ratschläge/Vorschläge
  • ngPflanze - ein Open-Source-Werkzeug zur prozeduralen Pflanzenerzeugung. Es ist nicht in Java geschrieben, aber Sie können vielleicht Ideen in seinen Algorithmen finden.

0voto

questzen Punkte 3208

Wenn Sie eclipse/SWT verwenden, versuchen Sie Draw 2D.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X