Seite 5 von 14

Verfasst: 08.07.2008 18:12
von ZeHa
Hmm ist 2000 überhaupt eine realistische Zahl?

Außerdem verstehe ich nicht warum Du immer von Entities redest, es geht doch der Graka nur um Polygone dachte ich. Und ich weiß ja nicht wie viele Polygone Deine Palme besitzt, aber eigentlich müßte sowas doch zu schaffen sein, oder nicht? Wenn man sich die heutigen Figuren anschaut bestehen die doch auch aus zigtausend Polygonen.

Verfasst: 08.07.2008 18:13
von Kaeru Gaman
die lösung mit den gruppen wird von vielen games verwendet,
bei etlichen ist das im editor schon so drin,
dass "baum" und "baumgruppe" unterschiedliche objekte sind.

ist natürlich je nach landschaft etwas schwierig zu verwenden,
wenn man ne sehr hügelige landschaft hat,
kann man nur recht kleine baumgruppen verwenden.
wenn man ne baumgruppe ein paar grad um die waagerechten achsen kippen kann,
kann man das noch etwas anpassen, damit ein wald nicht zu stufig wirkt.

aber grundsätzlich...
es sollte doch möglich sein, dass man ein mesh einmal lädt
und an x verschiedenen positionen anzeigt, oder?
...vielleicht hab ich auch zu wenig ahnung von heutigem 3D...

Verfasst: 08.07.2008 18:22
von Vermilion
X0r sagte, es gäbe zu viel Traffic, wahrscheinlich von der CPU zur GPU (unklare Aussage). Dies ist nachvollziehbar, denn wenn die Engine (CPU) jedes mal die Vertexes die gerendert werden sollen an die Grafikkarte über den Bus schickt, ist das etwas unperformant. Eine Lösung wären die DisplayLists wie in OpenGL (nun mal technisch gesehen unabhängig der verwendeten Engine). Dort kann man einfach einen Haufen Vertexes zusammenfassen, der Grafikkarte sagen die soll sich die merken, und beim nächsten Rendervorgang kann man anweisen, die gemerkte Liste an Vertexes nochmal zu rendern.

Also anstatt
Render Vertex
Render Vertex
Render Vertex
Render Vertex
kommt dann
Rendere die* Vertexes nochmal
*Bezogen auf die bestimmte Liste an Vertexes

Diese Liste könnte an X Positionen rendern. 2000 mal die Palme an verschiedenen Stellen.

Aber um Meshes geht es ja nicht, wie er sagt.

Verfasst: 08.07.2008 18:42
von X0r
>Außerdem verstehe ich nicht warum Du immer von Entities redest, es geht doch der Graka nur um Polygone dachte ich.
Hier mal ein Pseudo-Code:

Code: Alles auswählen

palm=LoadMesh("palm.x")
for a=1 to 2000
addelement(palms())
palms()\m=copymesh(palm)
PositionEntity palms()\m,random(1000),random(1000),random(1000)
next
Sowas ist böse! Denn viele Entities, Surfaces.


>Wenn man sich die heutigen Figuren anschaut bestehen die doch auch aus zigtausend Polygonen.

Reingefallen. Sicher bestehen die aus vielen Polygonen, aber durch diverse Techniken(Bump-Mapping, Parallax-Mapping) kann man ein Mesh auch detailliert aussehen lassen, ohne große Leistungsverluste.
es sollte doch möglich sein, dass man ein mesh einmal lädt
und an x verschiedenen positionen anzeigt, oder?
Laden tut man meshes so oder so nur einmal. Wozu denn x mal, wenn mans schon einmal im Speicher hat?
Wie meinst du das mit den verschiedenen Positionen? Wenn du auf P(0,0,0) und S(0,1,0) ne Palmen haben willst, brauchst du erstmal 2 entities.
ist natürlich je nach landschaft etwas schwierig zu verwenden,
wenn man ne sehr hügelige landschaft hat,
Nicht unbedingt. Wenn man natürlich schon fertige Baumgruppen-Meshes hat ists ein Problem, aber man kann x Bäume/entities halt zu einem einzigen entity zusammenfassen. Das macht das ganze schneller, ist aber nicht so von Vorteil, wenn das ganze dynamisch sein soll(Z.B Wind-Effekt).

Verfasst: 08.07.2008 19:14
von Kaeru Gaman
> aber man kann x Bäume/entities halt zu einem einzigen entity zusammenfassen.

das heißt, man könnte im editor einzelne bäume setzen,
und die werden beim "übersetzen" zu gruppen zusammengefasst?
na, das wär doch ideal!

...oder ne funktion im editor für "gruppieren", dass man das eben manuell macht,
indem man zwei dutzend bäume markiert und die dann gruppiert.

...ich war jetzt von fertigen gruppen ausgegangen, wie ich das schon
seit dem editor für Commanche4, also seit langem kenne.
die sahen natürlich blöde aus, wenn man die auf eine hügelkuppe gesetzt hat.

Verfasst: 08.07.2008 19:23
von X0r
>na, das wär doch ideal!
Jo, aber das ganze wäre dann 1 Mesh. Und dann wäre das statisch. Also Windeffekte oder so können wir dann vergessen.
Oder man pumpt die Map nicht so extrem mit Pflanzen zu. Dann könne man auch ne Sichtweite einstellen, Fog und nen schönen Autofade-Effekt.
Naja...mal gucken. Ich werde erstmal paar Tests machen.

>...ich war jetzt von fertigen gruppen ausgegangen
Also meinst du fertige meshes.
Jo, könnte man natürlich machen, hängt aber, wie du schon gesagt hast, vom Terrain ab.
Für Gras wäre sowas sicherlich sinnvoll.


Nochmal zu den Surfaces, warum mehr=langsamer bedeutet:
Surfaces enthalten Vertices and Triangles(Gibt ein Limit bei der Anzahl). Surfaces werden immer als eine Art Paket an die GraKa gesendet. Je mehr Vertices, Triangles auf einem Surface, desto besser. Somit müssen nicht so viele Surfaces an die GraKa übertragen werden und das meinte ich dann auch mit Traffic.

Verfasst: 08.07.2008 19:28
von Kaeru Gaman
also, auf windeffekte würde ich da erstmal pfeifen, das ist doch unwichtig.
hauptsache man kriegt es überhaupt gebacken.

...und es muss doch irgendwie an der engine liegen,
Black&White Zwo macht sich da schließlich auch nicht naß,
und da kann man die ganze Insel überblicken.

Verfasst: 08.07.2008 19:31
von X0r
>hauptsache man kriegt es überhaupt gebacken.
Das ist halt ein Nachteil. Wenn ich A nehme, steht mir B nicht mehr zu Verfügung. :mrgreen:

>Black&White Zwo macht sich da schließlich auch nicht naß,
und da kann man die ganze Insel überblicken.

Kann man die ganzen Objekte dann noch steuern? Also sind das sozusagen einzelne entities?

Verfasst: 08.07.2008 19:51
von Kaeru Gaman
da man jeden Baum und Stein einzeln nehmen kann oder von bürgern ernten lassen kann,
muss ich davon ausgehen, dass es einzelne "entities" sind.

allerdings ist die engine von einem Molyneux Game auch garantiert alles anderes als billig
und nicht vergleichbar mit einer engine die man für unter tausend dollar kaufen kann.

Verfasst: 08.07.2008 19:55
von X0r
allerdings ist die engine von einem Molyneux Game auch garantiert alles anderes als billig
und nicht vergleichbar mit einer engine die man für unter tausend dollar kaufen kann.
Jo hast Recht. :mrgreen:
Egal. Dann muss ich mich halt mit nem AutoFade-Effekt zufriedengeben.