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

Anonymous

unregistriert

1

20.08.2004, 12:14

Vertexcache

Nach dem ich mir ein paar Gedanken dazu gemacht habe möchte ich mit einigen die auch so etwas vor haben zu programmieren oder schon programmiert haben etwas austauschen.

Eins scheint schon mal klar zu sein. Objekte müssen nach Textur sortiert werden. Am besten würde sich wohl ein Binärerbaum dazu eignen ???

Doch was ist mit der Objektbewegung? Weil mit hoher Warscheinlichkeit werden sich die Objekte in verschiedene Richtungen bewegen.

Also müsste man nach dem setzen der Matrix ein Objekt zeichnen. Also bringt es nicht die Objekte in einem Cache zu sammeln ???

Das mal fürs erste.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

20.08.2004, 13:15

Also laut microsoft soll man möglichst große Buffer nutzen, aber es ist besser man nutzt statische buffer, als wenn man dynamische benutzt. Eine Möglichkeit wäre das ganz per offset zu machen....

3

20.08.2004, 13:36

Ursprünglich diehnt der VertexCache ja dazu einen batzen zu sammeln und dann auf einmal zu rendern. Damit die Grafikkarte auch etwas zu tun bekommt und nicht immer pausen einlegt.

Aber, pro renderdurchgang kann ja immer nur eine World Matrix genutzt werden. Daher muss man nicht nur nach den Materialien sortieren, sondern auch nach dessen Animationsstatus (sprich World Matrix). Man kann natürlich auch sagen das man nur Statische Objekte durch einen Vertex Cache rendert. Z.B. die komplette Level Geometrie. Das sind viele Daten und liegen meist nicht in einem VB sondern in mehreren, weil man das Level ja in einen Baum einsortiert hat. Dann könnte man die Vertice alle im Cache sammeln und dann auf einen rutsch rendern. Für das Level kommt ja eigentlich keine World-Matrix zum einsatz.

Es stellt sich dann nur die Frage ob ein Vertex Cache wircklich die benötigte Performance bringt. Da man ja schon recht viel über den Bus schieben muss.

Bei beweglichen Objekten, wie z.B. den Spielern, wird sich ein Vertex Cache wohl nicht lohnen. Es ändert sich einfach zu viel und durch die Skelett-Animation hat man dann auch gleich einen ganzen Satz an Matrizen.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

20.08.2004, 13:43

Animationen lassen sich auch gut mit morphen machen, dann braucht man zwar 2-3 buffer aber man hat nur noch eine hand voll variabelen die sich ändern. Mna muss halt nur immer den teil(torso, kopf,arme beine) bereich rendern und dann die animation-variabelen ändern, aber man hat den vorteil das man nur einmal die doppelte menge über den bus schieben muss und der kram dann so im speicher bleibt....

Werbeanzeige