PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Doom III und Portal Brushes


Ailuros
2002-12-19, 15:59:35
Keine Ahnung ob es schon diskuttiert wurde hier (wenn dann bitte thread loeschen), aber es hat mich schon immer interessiert.

Mal ganz einfach gemacht, die Schwaeche des BSP's bei der q3a engine, ist wohl dass die Orientierung der Kamera nicht festgestellt werden kann, wobei aber Portal Brushes diese Faehigkeit unter Bedingungen bieten. Richtig oder falsch?

Weiterhin ist D3 zeitens die einzige Spiel-engine die PB unterstuetzt, oder gibt es oder wird es noch weitere von anderen Entwicklungs-Haeusern geben?

Last but not least: was sind die realen Nutzen der Methode und gibt es auch irgendwelche negative (unerwuenschte) Seiten-effekte?

Danke im voraus :)

Demirug
2002-12-19, 23:22:39
Originally posted by Ailuros
Mal ganz einfach gemacht, die Schwaeche des BSP's bei der q3a engine, ist wohl dass die Orientierung der Kamera nicht festgestellt werden kann, wobei aber Portal Brushes diese Faehigkeit unter Bedingungen bieten. Richtig oder falsch?

Ich verstehe nicht ganz auf was du hinaus möchtest. Die Orientierung der Kamera ist unabhängig vom benutzten PVS system.

Weiterhin ist D3 zeitens die einzige Spiel-engine die PB unterstuetzt, oder gibt es oder wird es noch weitere von anderen Entwicklungs-Haeusern geben?

Tribes 2 benutzt auch PB. UT 2002 benutzt ebenfalls Protal Technik.

Last but not least: was sind die realen Nutzen der Methode und gibt es auch irgendwelche negative (unerwuenschte) Seiten-effekte?

Danke im voraus :)

Der Vorteil der Portal Technik liegt darin das das aufwendige erstellen des BSP entfällt. Zudem läst sich die Einrichtung der Räume viel Variabler gestallten. Zudem läst sich Portaltechnik durch die Grafikkarte beschleunigen. Das geht zwar derzeit aufgrund gewisser Beschrängungen noch nicht so gut. Aber möglicherweise wird da noch was daran getan.

Ailuros
2002-12-20, 00:46:18
Ich verstehe nicht ganz auf was du hinaus möchtest. Die Orientierung der Kamera ist unabhängig vom benutzten PVS system.

Verdammte Sprachbarriere..... :(

Q3a benutzt eine Kombination von BSP (binary space partitioning) und PSV (potentially visible set), richtig?

Soweit ich weiss haelt die BSP keine Informationen fest was man sehen kann oder nicht, solange es im view frustrum liegt.

Alle Informationen im PSV muessten auch "pre-kalkuliert" sein, so dass es nicht moeglich ist bei diesem fruehen stage, dass die "viewing position" bekannt ist. So wie ich dass verstanden habe, wird bei Portal Brushes PVS bei "runtime" generiert, so dass es dann auch moeglich ist das Kamera Orientierung auch bekannt ist.

Tribes 2 benutzt auch PB. UT 2002 benutzt ebenfalls Protal Technik.

Machen Portals eigentlich viel Sinn in "outdoor" Szenen? Doom3 waere da theoretisch idealer.

Der Vorteil der Portal Technik liegt darin das das aufwendige erstellen des BSP entfällt. Zudem läst sich die Einrichtung der Räume viel Variabler gestallten. Zudem läst sich Portaltechnik durch die Grafikkarte beschleunigen. Das geht zwar derzeit aufgrund gewisser Beschrängungen noch nicht so gut. Aber möglicherweise wird da noch was daran getan.

Interessant.

Problem wie zB wo und wieviel Portals dann auch eingefuegt werden? Ich glaube dass bei Doom3 Portals von den Entwicklern "mit der Hand" eingefuegt werden, was wohl eins der Probleme oder Beschraenkungen sein sollte.

Demirug
2002-12-20, 08:08:06
PVS ist ein oberbegriff für alle Techniken die sich mit der Reduktion von Overdraw befassen. BSP und Portal Systeme sind Beispiele für ein PVS.

Ein BSP teilt die Grafikdaten auf einen binären Baum auf. Damit wird die Anzahl der Prüfungen ob ein Polygon sichtbar ist oder nicht stark reduziert. Als Knotenpunkte im Baum dienen Polygone. Die Prüfung erfolgt nun nach dem Schema ob man vor oder hinter dem Polygon steht. Davon hängt dann ab ob man rechts oder links im Baum weiter sucht. Die Prüfung erfolgt über den Sichtvektor und die Flächennormale des Knoten polygons.

Bei einem PVS unterscheidet man zwischen statischen und dynamischen Systemen. Dazwischen gibt es natürlich noch hybride Ansätze. So ist ja zum Beispiel das HSR Verfahren auch ein PVS welches voll dynamisch arbeitet. Ein BSP dagegen ist statisch. Das Portal Verfahren liegt dazwischen da in der Regel die Portale feste Positionen haben. Es gibt aber innerhalb der Protaltechnik verschiedene Varianten die mehr oder weniger statische Informationen benötigen.

Eine dieser Varianten verkünft nur Räume durch Portale. Diese Technik ist eher statisch da viele Informationen im Vorfeld festgelegt werden müssen.

Setzt man nur Portale ohne Rauminformationen ein ist das System dynamischer. Man prüft in diesem Fall welche Portale sichtbar sind. Dann wird geprüft welche Objekte durch die Portale zu sehen sind. Diese Prüfung erfolgt vorzugsweise über einen vereinfachen Volumenkörper (z.B. Bounding Box). Die nährer Umgebung, also das was zwischen der Camera und den Portalen liegt, muss nun noch anderweitig ergänzt werden. Dafür gibt es auch techniken. Was man nun einsetzt hängt aber davon ab wie dynamisch die Level sein sollen.

Portale müssen derzeit eigentlich immer von Hand eingefügt werden. Vorzugsweise nimmt man dafür natürlich Fenster und Türen. AFAIK kann man bei DOOM III Portale auch in Abhängigkeit ob eine Tür nun offen oder geschlosen aktivieren bzw. deaktivieren. In wie weit das sich als mehraufwand darstellt hängt sehr vom benutzten Editor ab.

Im Aussenbreich machen Portale wenig sinn. Deshalb benutzt man dort Anti-Portale. Diese funktionieren genau entgegengesetzt. Alles was hinter einem Anti-Portal liegt wird verdeckt.

3dfx Voodoo5 5500
2002-12-20, 11:15:39
danke für die erklärung hab das nun endlich mal verstanden was pvs und bsp sind.
und v.a. wie der verhalt funktioniert thx

Xmas
2002-12-20, 12:27:17
Originally posted by Demirug
PVS ist ein oberbegriff für alle Techniken die sich mit der Reduktion von Overdraw befassen. BSP und Portal Systeme sind Beispiele für ein PVS.
Du meinst wohl HSR. Als PVS (Potentially Visible Sets) kenne ich eigentlich eine spezielle Technik, bei der pro "Raum" eine statische Liste von Polygonen/Objekten gespeichert wird, die von diesem aus sichtbar sein können.

Demirug
2002-12-20, 12:55:36
Originally posted by Xmas

Du meinst wohl HSR. Als PVS (Potentially Visible Sets) kenne ich eigentlich eine spezielle Technik, bei der pro "Raum" eine statische Liste von Polygonen/Objekten gespeichert wird, die von diesem aus sichtbar sein können.

Die korrekte Definition müsste AFAIR folgende sein:

Ein HSR-Verfahren erzeugt ein PVS. Ein PVS ist eine Menge von Polygonen die alle sichtbaren Polygone enthält plus eine Menge von x Polygonen die eigentlich nicht sichtbar sind. Die Grösse von x liegt dabei zwischen 0 und der gesamten Restmenge von Polygonen.

Xmas
2002-12-20, 15:19:20
Originally posted by Demirug


Die korrekte Definition müsste AFAIR folgende sein:

Ein HSR-Verfahren erzeugt ein PVS. Ein PVS ist eine Menge von Polygonen die alle sichtbaren Polygone enthält plus eine Menge von x Polygonen die eigentlich nicht sichtbar sind. Die Grösse von x liegt dabei zwischen 0 und der gesamten Restmenge von Polygonen.
Die Definition scheint passend. Aber wie nennt man die Technik, bei der pro Raum eine solche Liste vorberechnet wird?

Demirug
2002-12-20, 15:30:37
Originally posted by Xmas

Die Definition scheint passend. Aber wie nennt man die Technik, bei der pro Raum eine solche Liste vorberechnet wird?

Ich kenne die Technik die du meinst schon. Mir fällt aber der Name jetzt auch nicht ein.

Ailuros
2002-12-21, 07:53:04
Ich hab ein bisschen auf den dev-Seiten von ATI/NV und PVR nachgesucht was Portale betrifft, aber ausser zwei Dokumenten bei pvrdev (ein paar generelle Tips fuer Portale) und eine uraltes Rage-demo bei ATI, konnte ich leider nichts finden.

Ich schnuppere gerade bei GamaSutra durch, mal sehen ob ich da auf irgend etwas interessantes stosse.

Herzlichen Dank Demirug :)

Kai
2002-12-21, 12:09:31
Hui, eins meiner Lieblingsthemen. Spät bemerkt. Aber Demirug hat's ja schon auf'n Punkt gebracht. Ich schind' aber trotzdem noch ein Posting ;)

Neo69
2002-12-22, 23:20:41
Danke an Demirug für seine Zusammenfassung, um es noch einmal auf den Punkt zu bringen.