DGL
https://delphigl.com/forum/

@Vractal
https://delphigl.com/forum/viewtopic.php?f=14&t=9911
Seite 1 von 3

Autor:  Lord Horazont [ Mo Mai 16, 2011 17:17 ]
Betreff des Beitrags:  @Vractal

Geil geil geil. Genau sowas brauche ich. Dann muss ich mich nicht um die Vegetation kümmern. Nen Interface was einfach Faces ausspuckt oder so wäre cool, damit ich das auf meine VBO Klassen mappen kann.

greetings

Autor:  Aya [ Mo Mai 16, 2011 17:42 ]
Betreff des Beitrags:  Re: @Vractal

Wie schaut denn die Geometry und die UVs aus?
Also.. stecken die äste einfach nur ineinander, oder sind da richtige übergänge dazwischen?

Aber schon sehr cool!

Autor:  Flash [ Mo Mai 16, 2011 18:39 ]
Betreff des Beitrags:  Re: @Vractal

Das sowas geht wusste ich schon seit Jahren (über Speedtree hab ich mal hier bei DGL was gelesen). Sowas zu machen hatte ich auch schon immer vor. Aber es dann nochmal zu sehen.
Sieht schon richtig klasse aus! Man kann quasi direkt erkennen welche Art das ist. ;)

Wieviele Zufallszahlen speicherst du? Ist es nur 1 Seed? Wie viele Parameter kannst du dem Baumgenerator mit geben?

Autor:  Kyro [ Mo Mai 16, 2011 20:49 ]
Betreff des Beitrags:  Re: @Vractal

Also erstmal Vielen Dank für das Feedback :)

@Lord Horazont

Darauf habe ich bereits hingearbeitet. Es wird ein Vertex-Array (Punkte-Wolke) sowie ein Indices-Array mitgeliefert, dass nacheinander die Dreiecke angibt. Für jeden Typ (s.u.) gibt es dabei ein eigenes Indices-Array, allerdings gibt es nur eine Punktewolke. Man sollte die schon so für VBOs verwenden können.

@Aya

Um die Texturkoordinaten hab ich mich noch nicht gekümmert... Der Baum besteht im Prinzip aus einer Reihe von Knoten (VertexBunch bzw. BranchJoint), die für das besitzende Element (d.h. "Trägerast") sowie alle Unterelemente (Verzweigungen, die von diesem ausgehen) jeweils einen Slot besitzen. Ein Slot ist einfach ein Punktekreis.
es werden getrennt einerseits Slot-zu-Slot verbunden sowie die BranchJoints in sich selbst. Die Implementation für letzteres bestimmt die Übergänge. Im Moment werden dafür nur alle Child-Slots mit dem Parent-Slot verbunden, sodass es in gewisser Weise noch "zusammen gesteckt" ist. Ist ein Punkt der auch auf der Liste steht.. Nur dafür brauche ich noch die Ideen um es zu realisieren...

@Flash

Mit dem Thema rekonstruierbare Zufallsreihe muss ich mich unbedingt noch beschäftigen. Es gibt eine ganze Menge von Parametern (hab den Code gerade nicht parat), wichtiger ist aber, dass es möglich ist, Typen zu definieren, von denen jeder unterschiedliche Parameter haben kann. Es gibt eine Reihe Parameter für das Skelett und Tesselierung. Eine beliebige Menge definierter Typen kann einem anderen Typ mit bestimmter Wahrscheinlichkeit zugeordnet werden, sodass dieser alle zugewiesenen beim "wachsen" generiert. Äste / Elemente können auch "sterben", also nicht weiterwachsen. Bestimmte Zufallswerte werden außerdem über spezielle Klassen erzeugt, die auch bestimmte Element-Parameter bei der "Entscheidung" berücksichtigen. So gibt es z.B. eine Klasse, die ihre Wahrscheinlichkeit für 'Wahr' mit der Generation ändert.
Damit komme ich mit nur zwei Element-Klassen aus: TFT_Root und TFT_Branch.

Als Beispiel: Alle Beispielbäume aus den Bildern bestehen aus einer Wurzel (Root), die Tribe-Elemente (Branch) generiert. Die Tribe-Elemente generieren wiederum Branches (ebenfalls Branch). Dadurch lässt sich z.B. Persistenz und Länge eines Stamms unabhängig von den Ästen regeln.

Ich hoffe das war einigermaßen verständlich =)

MfG

Autor:  envimetadmin [ Di Mai 17, 2011 18:42 ]
Betreff des Beitrags:  Vractal - Fraktale Vegetation

Hallo,

ich würde gerne mehr sehen zu deiner Arbeit, sie sieht schon recht realistisch aus!
Viele Iddeen hierzu findest du hier: http://algorithmicbotany.org/papers/

Viele Grüße

Michael

Autor:  abu [ Di Mai 17, 2011 19:06 ]
Betreff des Beitrags:  Re: @Vractal

klingt sehr interessant, ich freue mich schon auf das erste release hoffentlich mit source :)

Autor:  Aya [ Mi Mai 18, 2011 13:34 ]
Betreff des Beitrags:  Re: @Vractal

Was mich noch Interessieren würde.. hast du dir die "Wörter" für das L-System selbst ausgedacht oder gibt's da irgendwo ne hübsche liste á la "Dieses Wort mit diesen Regeln ergibt eine Tanne"..? :)

Ansonsten würde mich mal Interessieren was du z.B. für den Baum im ersten Screenshot benutzt hast. Also welche Variablen/Konstanten, welche Regeln, welchen Start wert und was bei welchem "Buchstaben" gemacht wird.

Aya~

Autor:  Delphic [ Mi Mai 18, 2011 17:44 ]
Betreff des Beitrags:  Re: @Vractal

find ich cool. je mehr man parametrisieren kann desto lustiger wirds - und wenn das auch noch interaktiv geht, ists besonders klasse :-) habe vor ewigkeiten L-Systeme auch einmal ausprobiert... wo war des denn?... gut dass ich all dieses zeug bei DGL abgelegt habe, da findet sich das dann noch alles :-) http://svn.delphigl.com/filedetails.php ... tetree.dpr Ist zwar ein biserl einer Sparvariante, aber Bäume hats trotzdem erzeugt :-)

Autor:  Kyro [ Do Mai 19, 2011 10:24 ]
Betreff des Beitrags:  Re: @Vractal

Aya hat geschrieben:
Was mich noch Interessieren würde.. hast du dir die "Wörter" für das L-System selbst ausgedacht oder gibt's da irgendwo ne hübsche liste á la "Dieses Wort mit diesen Regeln ergibt eine Tanne"..? :)


Namen sind Schall und Rauch ;) Die dienen nur der Zuordnung der Parameter. Für jeden definierten Typ (in den Beispielen immer Root, Tribe, Branches) gibt es einen Satz von Parametern. Beim Skelett sind das pro Typ immer die Gleichen, z.B. Längenmultiplikator für erhaltenes und gesplittetes Element, Oszillationen etc.. Grundsätzlich kann man sich für alles, was man machen will, das "Original" mal genau anschauen. Bei der Tanne z.B. gehen die Äste eher nach unten statt oben raus, was man hier durch negativen Splitlängenfaktor erreicht.

Aya hat geschrieben:
Ansonsten würde mich mal Interessieren was du z.B. für den Baum im ersten Screenshot benutzt hast. Also welche Variablen/Konstanten, welche Regeln, welchen Start wert und was bei welchem "Buchstaben" gemacht wird.


Dafür braucht man eine entsprechende Auflösung "durchgängiger" Stämme, also kurze Weglänge und niedrige Splitwahrscheinlichkeit. Zusätzlich, für den krummen Anblick, hat der Baum eine relativ hohe Oszillation in den beiden Radialachsen. Ich werde mal Parameter+Bild online stellen wenn ich dazu komme ;)

Autor:  envimetadmin [ Fr Mai 20, 2011 10:12 ]
Betreff des Beitrags:  Re: @Vractal

Hi,

naja, ganz Schall und Rauch sind sie nicht.

Es gibt eine ganze Reihe von vorgefertigten Paramterlisten für diverse (reale) Vegetation.
Grade wenn man mit den L-Systemen mehr machen will als nur graphische Darstellung, z.B. Windlasten berechnen, Baumentwicklung in Abhängigkeit von Licht, Wind und anderen Bäumen, dann kommt es schon auf die korrekten Paramtersets an.
Dafür gibt es ganze Entwicklungsumgebungen z.B. das Virtual Laboratory (http://algorithmicbotany.org/virtual_laboratory/), wo es auch eine ganze Reihe vorgefertigter Pflanzen gibt.
Eine einfache Liste für offene oder geschlossene L-Systeme kenn ich allerdings nicht, müßte man mal zusammensuchen...

LG

Michael

Autor:  Sascha Willems [ Fr Mai 20, 2011 19:46 ]
Betreff des Beitrags:  Re: @Vractal

Das sieht ja richtig gut aus. Und mit den Texturen machts wirklich was daher und könnte auch für Spiele genutzt werden. Aber wie sieht denn der Polycount aus? Ich hab jetzt für die Schlachtfelder in Projekt "W" eigene Bäume modelliert (was teilweise sehr lange dauert, dutzende Verscuhe und mehrere Tage für Tannen z.b.) weil solche Tools wie z.b. tree[d] (sind ja auch fraktale Bäume) zwar schöne Bäume machen aber halt mit sehr hohem Polycount.

Autor:  Mietfekatfe [ So Mai 22, 2011 21:36 ]
Betreff des Beitrags:  Re: @Vractal

Mich würde auch interessieren wie man im endeffekt darauf zugreift. Speicherst du die eigenschaft der vegetationen ab und lädst sie dann als klasse?

Autor:  Phobeus [ Mi Jun 01, 2011 03:36 ]
Betreff des Beitrags:  Re: @Vractal

Der Polycount würde mich da auch mal sehr interessieren. Das Ergebnis mit Textur sieht mitunter bereits sehr professionell aus.

Autor:  Kyro [ Mi Jun 01, 2011 21:20 ]
Betreff des Beitrags:  Re: @Vractal

Also der polycount ist stark abhängig von den gewählten Parametern. ohne mir große mühe zu geben habe ich detaillierte modelle mit etwa 10.000 dreiecken erzeugt. rendert bei mir mit über 2000fps (8800 GT) also durchaus spieletauglich. vertexcount pro ast ist anpassbar und passt sich auch am durchmesser an. am lod arbeite ich, sowie an der dynamik sprich wind. Sieht schon jetzt sehr beeindruckend aus soviel kann ich schonmal sagen :)

Autor:  Frase [ Do Jun 02, 2011 07:48 ]
Betreff des Beitrags:  Re: @Vractal

Ich möchte anmerken, dass das ziemlich lecker aussieht, was du da bastelst :)

Seite 1 von 3 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/