Ego-Shooter-Projekt (namenlos)

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Wie wäre es damit, ein Mesh 2000 mal zu rendern? Sozusagen 2000 Entitäten mit dem selben Mesh erstellen. Wenn du nicht "verschiedene" anstatt "einzelne" meinst.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Hmm dann erklär das Problem mal genauer, ich versteh nicht ganz worauf Du hinaus willst.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Vermilion hat geschrieben:Wie wäre es damit, ein Mesh 2000 mal zu rendern? Sozusagen 2000 Entitäten mit dem selben Mesh erstellen. Wenn du nicht "verschiedene" anstatt "einzelne" meinst.
Das hab ich doch gemeint...

Er meint es gibt Probleme wenn man 2000 Palmen erstellen will, dass die Graka da nicht mit macht... Auch wenn es 2000mal die selbe Palme ist...
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Ja, dann ist das ein allgemeines Perfomanceproblem, dann soll man es halt einfach lassen. Oder man richtet alles so ein, dass man eben nicht 2000 Palmen auf ein mal sieht. Es gab schon genug Spiele in der Vergangenheit die einen ganzen Wald dargestellt haben, und trotzdem keine millionen Bäume bräuchten. Wäre zum Beispiel realisierbar durch einfache "Plakatwände" auf dem ein Wald aufgemalt ist, diese platziert man hinter ein paar Bäumen, die nicht durchgehbar sind, sodass es aber auch noch nicht allzu auffällig wirkt. Ginge natürlich nur, wenn man Bereiche auf der Karte zulässt, die nicht begehbar sein sollen. (nur eine Idee)
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Naja aber man pumpt doch nicht generell einfach mal alles auf die Graka und hofft, daß sie nicht in die Knie geht. Sondern man pumpt nur das rein, was man auch tatsächlich sieht, und wenn das die Engine angeblich erledigt, dann darf es da doch nicht zu Schwierigkeiten kommen. Jedenfalls verstehe ich es immer noch nicht.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
gekkonier
Beiträge: 314
Registriert: 20.04.2007 09:06
Wohnort: Wien

Beitrag von gekkonier »

LOD, Fog und dynamisches laden/entladen Distanzbasierend könnte auch helfen denk ich mal.

d.h. wenn das objekt zwischen 150 und 200 Entfernungseinheiten entfernt ist wird es mal geladen, zwischen 100 und 150 Meter der Fog Falloff, damit man das aufpoppen der Objekte nicht bemerkt und zwischen 100m und der Cam mit LOD arbeiten (die Meterangaben sind natürlich rein fiktiv und durch passende Werte austauschbar *g*). In diesem speziellen Fall (Zombieshooter wars doch, oder?) wäre eine Art Nebel eh für die Stimmung fördernd.

Wenn man sich jetzt wieder z.B. nach hinten bewegt wird das Objekt sagen wir mal 10s im Speicher gehalten, bevor es gelöscht wird, damit nicht andauernd geladen und entladen wird (quasi eine Art Caching, zeitbasierend), falls man doch gleich wieder nach vor gehen sollte.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

@ZeHa: Also ich denke mal es wird gemeint (und darauf habe ich mich auch bezogen), dass es nur um die 2000 Palmen geht, die man sieht. Der Rest wird ja nicht dargestellt, um den brauch man sich auch keine Sorgen machen.

Ist halt das Problem bei vielfältiger, groß angelegter Vegetation in Computerspielen, ein Haufen von Objekten mit wahrscheinlich noch einem Haufen an Polygonen...
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

LOD spielt aber bei dieser Sache keine Rolle! Es ist shit egal ob die Palme nun low-poly ist oder nicht. Es geht einzig allein darum, dass zu viele Surfaces zuviel Traffic für die GraKa bedeutet.

>Wie wäre es damit, ein Mesh 2000 mal zu rendern? Sozusagen 2000 Entitäten mit dem selben Mesh erstellen

Was? Du meinst also eine Palme laden und für die 2000 Entities das geladene mesh einfach kopieren? Wenn ja, dann hast du es leider immer noch nicht verstanden. Sorry.
Das würde man so oder so machen und das würde eigentlich auch nur ein Vorteil beim Laden sein.

Ist übrigens kein einfaches Thema. ;)
Und die Sichtweite einstellen(Was gekkonier mit fog meinte) bringt nicht immer was.
Warum? Ganz einfach: Es sieht kacke aus.
Und wenn man dann noch in einer "Umgebung" ist wo dann zig entities gerendert werden hat man das selbe Problem.


Nehmen wir mal als weiteres Beispiel eine Partikel-Engine. Man will einen richtig guten Effekt erzielen und erstellt deswegen ziemlich viele Partikel bzw. Sprites. Einige hier würden dann wahrscheinlich einfach mal so 500 oder 1000 Sprites erstellen.
Und das ist das Problem. Das wären 500(1000) Surfaces und sowas zwing die GraKa immer in die Knie. Bei einer Partikel Engine würde man einfach die SingleSurfaceMethode benutzen. D.h man hat bei 500(1000) Sprites nur 1 einziges Surface und das macht die ganze Sache viel viel schneller.

Wäre bei dem Vegetationsfall aber nicht nicht zu empfehlen, da man ja wahrscheinlich nicht alle Pflanzen auf einmal sehen wird. Würden man es dennoch so machen, dann würde es schon ausreichen, wenn man 1 Polygon einer Pflanze sehen würde und schwups werden gleich alle Polygone der gesamten Vegetation an die GraKa "gesendet"(Nicht gerendert!) Das wäre hohl. Dennoch besser als 2000 entities.
Ich hätte eventuell ne Idee. Nämlich immer Gruppen von Pflanzen erstellen. Da ich hätte man im Bereich 0-100(X-Achse) und 0-100(Z-Achse) ein Surface. In einem anderen Bereich dann ein weiteres und so weiter. Weiß jetzt nicht, ob das wirklich sinnvoll wäre.
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

hmm..in dem fall wuerd ich die game engine gleich so aufbauen, das
palmen und grass immer da dargestellt werden wo man grade ist
bzw..wie in alter gothic manier, im nahbereich als mesh, in der entfernung
als "billbord"
...da macht sogar b3d so scheinbar paar tausend palmen/graeser in die welt
und das spart natuerlich das setzen von paar hundert/tausend meshes im ed
zusatzlich wuerde ich die hoehen des terrains in ein array speichern
is dann auch schneller als terrainy() oder wie der befehl da heisst
amiga rulez...
Rebirth Software
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Wie wird das eigentlich bei TerraEd gelöst? SingleSurface kanns ja nicht sein, weil der AutoFade-Effekt verwendet wird. Tatsächlich dann x entities?
Edit:
Ok, geht ja gar nicht anders. Sonst könnte man im Editor ja nicht jedes Objekt einzeln steuern.
Antworten