Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

11

28.09.2006, 17:47

Du wirst ja keine Risigen Objekte haben, da macht es doch nichts wenn ein Objekt, das auf der Grenze steht. Komplett gerendert wird. Das Objekt hat nichts mit der Landschaft zu tun. Da wird nichts 2 mal gerendert.

12

28.09.2006, 17:51

Wenn du einen fixen Quadtree hast, mit gleich-großen Gebieten, hast du schon ein Problem, wenn man gerade an der Grenze zweier Gebiete steht und ein Objekt genau auf der Grenze. Dann müsste es nämlich zweimal gerendert werden.

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

13

28.09.2006, 17:52

Ich denke mal Du nutzt DX9? Wenn ja ist der Draw-Aufruf für ein Objekt sowieso so langsam, dass Dein frustumtest den Kohl kaum fett machen wird.

Nimmst Du Tiles? Dann kannst Du Deine Objekte an die Tiles "hängen".
"Games are algorithmic entertainment."

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

14

28.09.2006, 17:56

Wie s muss es denn zwei mal gerendert werden, wenn du einfach berechnest ob das Ding in deinem Sichtbereichliegt und es dann renderst, dann rendert der das nur einmal und die Quatrees gesondert.
Ich hab es noch nie gemacht müsste aber doch so sein :)

Phili

unregistriert

15

28.09.2006, 18:13

Zitat

Wenn du einen fixen Quadtree hast, mit gleich-großen Gebieten, hast du schon ein Problem, wenn man gerade an der Grenze zweier Gebiete steht und ein Objekt genau auf der Grenze. Dann müsste es nämlich zweimal gerendert werden.

Unsinn,
1. Terrain zeichnen
2. Objekte zeichnen.

mehr ist nicht. Die objekte ham mit dem Quad-Tree nix zu tun.

16

28.09.2006, 18:19

@Phili: Wenn du die Objekte derart ineffizient Cullen willst -> Bitte!

  • »Wümpftlbrümpftl« ist der Autor dieses Themas

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

17

28.09.2006, 18:20

@ malignate88
Also mach ich einen Quadtree, der alle Objekte intus hat und eventuel in manchen Nodes sogar mehrmals (falls die Objekte eben in mehrere Nodes ragen) und bei jeden Renderaufruf frag ich ab, ob das Model nicht schon gerendert wurde? Danke, gute idee.

@ Phil
malignate88 hat glaub ich vollkommen Recht.

@ Osram
Ähh was? Bei sagen wir mal 5000 Objekten die irgendwo verstreut sind dürft das sehr wohl was ausmachen.

@ Fred
Bei dir komm ich auch nich ganz mit ^^
Bei nem Quadtree wird ja einfach eine Fläche immer wieder in 4 Teile unterteilt. Die Objekte die dann auf den Flächen der Leafes sind werden dann den Leafs zugewiesen. Und dann passierts ja wohl recht oft das in einen Wald Bäume auf der schnittlinie liegen und so mehreren Leafs zugeteilt werden.

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

18

28.09.2006, 18:28

Wümpftlbrümpftl, schau Dir irgendeinen Vortrag oder Text über Optimierung von DX9 Code an, das erste was Du sehen wirst ist "Batch!". Das heisst nichts anderes als dass der Draw-Aufruf in DX9 schweinelangsam ist. D.h. Du darfst nur wenige Objekte zeichnen. Ich habe mal die BF2 Demo ge-benchmarkt und die zeichnen ca 200 Objekte, inklusive Partikeln etc. 5000 ist bei DX9 (nicht DX10, deshalb fragte ich) völlig illusorisch. Was Du also machen musst ist verschiedene Dinge nehmen die FÜR DICH einzelne Objekte sind - z.B. 50 Bäume die in einem kleinen Wäldchen stehen und der Grafikkarte sagen, es ist EIN "Wald" Objekt.
"Games are algorithmic entertainment."

19

28.09.2006, 18:32

@Osram:
Du verwechselt zwei Dinge:
1. Die Objekte auf der Karte, die auch bei Battlefield weit mehr als 5000 Objekte sein können.
2. Die Objekte im sichtbaren Bereich und da sind je nach Kameraeinstellung 200 Objekte schon sehr viel.

Phili

unregistriert

20

28.09.2006, 18:35

@Wümpftlbrümpftl und malignate88
Wenn du für jedes Objekt 24 Ebenengleichungen machen musst und du warscheinlich bereits nach der ersten weißt, dass du abbrechen musst und sagen wir mal 200 Objekte hast(scheint mir einigermaßen realistisch), dann macht dass ungefär NICHTS aus. Zusätzlich hast du diese Lösung innerhalb von kürzester zeit fertig und kannst dich dann den Dingen widmen, die WIRKLCIH was ausmachen.

Das ganze ist meiner Meinung nach dermaßen Haarspalterei, man glaubts kaum. elehrt mich, wenn ihr's besser wisst...

Werbeanzeige