.
|
|
| Autor | Beitrag |
|---|---|
|
000 10.05.2000, 22:20 Prefect |
Hi! Ich habe mir mal wieder crid's r_speeds-Artikel durchgelesen und auf ein paar kleinere und eine größere gestoßen, die es zu bedenken gilt. Ich fang mal mit dem unbedeutendsten an: Die Polygone auf Brush-Entitys zählen zu den wpolys und nicht epolys. Zweitens hat sich das mit den Dreiecken seit Quake geändert, will sagen: World-Polygone können sehr wohl Vierecke & mehr sein. Dafür spricht 3) Vising und Leaf-Creation; ich beziehe mich jetzt voll und ganz auf Abb 9b aus dem r_speeds-Artikel Angenommen QBSP2 würde auf die Idee kommen, das Level zuerst an der "oberen" Begrenzung des unteren Raumes zu splitten, wäre das Level in folgende Leafs unterteilt: VIS würde jetzt feststellen, das man von 2) in 3) sehen kann => wer in der linken oberen Ecke des unteren Raumes steht, kann den ganzen oberen Raum "sehen". Ich hoffe ich hab das jetzt einigermaßen verständlich erklärt und zu der Hint-Brush-Theorie etwas hinzufügen können. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
001 11.05.2000, 03:09 BSE_crid |
Hi Prefect, ........wo Du recht hast hast Du recht: die Polygone auf brush-basierenden Entities zählen in der Tat zu den wpolys. Ich hab' das kürzlich auch festgestellt, aber immer noch nicht im Artikel verbessert (Schande über mich). Dreiecke: Was allerdings das Render-Log angeht, so bin ich dann doch ziemlich erstaunt....vielleicht sollte man mal Zoner mit diesen Fakten konfrontieren. Der könnte dann im Prinzip aus erster Hand Aufklärung leisten. Zu VIS und LEAF: .....so, jetzt sackt mir gleich der Kopf auf die Taststur.....nach 3.00Uhr morgens sollte man einfach schon pennen..........gute Nacht allerseits! --[BSE] crid Compile-Errors-Artikel (Version 09-01) http://www.crid.de oder http://www-public.tu-bs.de:8080/~y0009981/ |
|
Profil || Suche |
|
002 11.05.2000, 14:24 Linga Administrator |
wow...ein echter hammer post:) aber was soll ich dazu sagen? es stimmt...wenn das die 800newbies, die hier registriert sind mal lesen+verstehen würden, würden sie wohl so einige fragen zu ruckelnden maps nicht stellen....und weniger maps, die viel abrbeit waren in den sand setzen, weil es einfach nur laggt. ich bin zur zeit dabei, mich in eine neue, noch nicht bekannte engine einzuarbeiten. ich darf dazu nichts sagen, es besteht noch kein patent. ich kann nur sagen, es wird NUR berechnet, was man wirklich sieht. wies funzt is geheim. wenn sie nen patent hat, ich infos weitergeben draf, steht alles technische auf meiner hp. -- |
|
Profil || Suche |
|
003 11.05.2000, 16:27 |
Jojo Linga ich denk du kommst erst im Sommer zu den *peep* :) -- |
|
Profil || Suche |
|
004 11.05.2000, 18:26 Linga Administrator |
hat sich geändert, ich bin jetz fest ins projekt/firma eingeschlossen -- |
|
Profil || Suche |
|
005 11.05.2000, 22:16 Prefect |
Also was jetzt kommt sind zum großen Teil Vermutungen, ich werd's aber trotzdem mal sagen: Eine BSP-Datei heißt so, weil der Kernteil aus einem BSP-Tree besteht. Ein BSP (Binary Space Partitioning)-Tree stellt ein Level dar, indem er es in Nodes zerteilt. Ein Node wird durch folgende Dinge definiert: Ausgehen von einem Root-Node wird nun das ganze Level so lange in Nodes zerteilt, bis alle Polygone irgendwo auf Hyperplanes liegen. Die Leafs liegen zwischen den Hyperplanes. Ich hoffe ich konnte mich verständlich ausdrücken :) Ich hab leider kA wie QBSP2 Planes genau gewichtet, nur in etwa folgendes: Gut möglich, das nach einem Split in X-Richtung möglichst ein Split in Y-Richtung erfolgen soll, was das Resultat von Abb. 9b wahrscheinlicher macht. Aber das sind also nur wilde Spekulationen, und man muß das wohl bei jedem Level von neuem ausprobieren. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
006 12.05.2000, 02:54 BSE_crid |
......so langsam geht's ans Eingemachte....=) Wenn ich jetzt alles richtig kapiert habe, dann sind Soweit ich weiß, erstreckt sich ein Hyperplane ausgehend von einem Brushface so weit, bis es wiederum auf einen Brush auftrifft. Somit hätten wir -was Bild 9b betrifft- beide recht --> es fehlt im Bild mindestens eine blaue Linie: die Verlängerung der unteren Gangwand nach links, quer durch den unteren Raum. Des weiteren wäre im Eck des Ganges ein weiteres (ca. quadratisches) Leaf, außerdem gäbe es im oberen Raum drei Leafs (Verlängerung der beiden senkrechten Gangwände nach oben) --> das stimmt natürlich nur dann, wenn wirklich jede Brush-Fläche zur´Erstellung eines Hyperplanes herangezogen wird und keine "ausgelassen" wird. Meines Erachtens ist das aber anzunehmen, da es ja andernfalls viel seltener bzw. so gut wie nie zu MAX_LEAF_FACES-Errors durch zu detaillierte Brushes kommen dürfte. zu "Gewichtung von Planes": -die Hint-Brushes zählen -soweit ich weiß- genauso viel wie normale Brushes --> an ihnen werden Hyperplanes genauso gebrochen, wie an normalen Brushes In welcher Reihenfolge nun qbsp die Hyperplanes erstellt.....keine Ahnung, jedoch eine unbegründete Vermutung: Brush für Brush, der "Nummerierung" der Brushes folgend... (?). -So ein Leaf&Portal-Tool wäre ein wahrer Segen!!! Ich muß ja gestehen, daß bei mir nun auch so langsam die Phase der wilden Vermutungen und des "gesunden Halbwissens" anfängt....... =) --[BSE] crid Compile-Errors-Artikel (Version 09-01) http://www.crid.de oder http://www-public.tu-bs.de:8080/~y0009981/ |
|
Profil || Suche |
|
007 12.05.2000, 13:17 Linga Administrator |
aber wie kann ich Reihenfolge in der das Level aufgesplittet wird beeinflussen? ABER: wie ist es, wenn man auf jedes face eines brushes verschiedene (texturen)-grössen legt, also auf die obere seite eine 60x100 und auf die untere eine die 70x28 gross ist, wie werden die brushes dann zersplittet?das wäre ja ein wahnsinniges durcheinander, es würde wahrschenlich jahre dauern, bis die lightmap berechnet wäre usw. wie würd dieses problem gelöst? entweder man teilt den brush in 2 hälften, oben und unten, ok dann hätte man das problem gelöst, aber was ist wenn man jetzt auchnoch die 4 seiten des brushes individuell texturiert? da wäre das dann wieder für den arsch... PS: in der q-engine werden die flächen bei einer textur nur zersplittet, weil der software modus damit nich klarkommt, in engines die auf 3d-beschleunigung bestehen, ist es so, dass der block egal wie viele textur wiederhohlungen immer nur ein polygon ist. PS #2 Ende: PS: #3 in der unreal-engine gibt es ja keine skybox=keine leaks, da wird der sky einfach irgentwo hin gebaut, ganz klein, alle informationen wie zb. in der ut map "face" diese asteroiden die da um die map fliegen sind in diesem kleinen kasten enthalten und nehmen so sogut wie garkeine resourcen weg... ich hoffe, das trägt zum thema bei, ist schon ein ziehmlicher hammer...viele werden sich wohl nicht beteiligen können, das mal auf 100 replys zu bringen wäre mal was =) -- |
|
Profil || Suche |
|
008 12.05.2000, 20:59 Linga Administrator |
ich hätte eigentlich lieber ein paar mehr antworten...ist euch da zu viel zu lesen??? -- |
|
Profil || Suche |
|
009 12.05.2000, 22:25 BSE_crid |
Unverständnis @ Linga: ist doch egal, wieviele rePosts kommen. Qualität statt Quantität!! --[BSE] crid Compile-Errors-Artikel (Version 09-01) http://www.crid.de oder http://www-public.tu-bs.de:8080/~y0009981/ |
|
Profil || Suche |
|
010 12.05.2000, 23:04 Linga Administrator |
yeah, ein mann, ein wort=) sag mir aber trotzdem mal, ob das was ich gesagt habe stimmt und gib mir ne antwort auf die "frage" mit den faces-texturen-verschiedene*g*=) -- |
|
Profil || Suche |
|
011 12.05.2000, 23:51 |
Ich muss Linga da korrigieren: Du hast was von brushes geschrieben, die bei unterschiedlichen texturgrössen an gegenübberliegenden seiten zerschnitten werden müssten, dass stimmt aber nicht da die qake-engine ja komplett mit polygonen rechnet, es ist ja egal ob an der oberen fläche eines würfels 8, an der unteren aber nur 2 polygone sind !! Ich hoffe ihr versteht was ich meine... cu -- |
|
Profil || Suche |
|
012 12.05.2000, 23:58 dp Administrator |
Wo wir gerade beim Thema Engines und so sind: Hat jemand eine leise Ahnung wie die Republic-Engine (Egal wieviele Poly's, keine performance-einbußen) funktionieren soll? -- |
|
Profil || Suche |
|
013 12.05.2000, 23:58 dp Administrator |
Wo wir gerade beim Thema Engines und so sind: Hat jemand eine leise Ahnung wie die Republic-Engine (Egal wieviele Poly's, keine performance-einbußen) funktionieren soll? -- |
|
Profil || Suche |
|
014 13.05.2000, 00:03 Linga Administrator |
nö, 1. finde ich, das die grafik scheisse aussieht, 2. was soll der übertriebene quatsch? 3. wer soll soviel bauen?????wenn ein hasu 100.000polys hat, viel spass....3. das steigert sich doch immer weiter, jede neue engine kann mehr verarbeiten, ich würde die nicht so hochpreisen, immerhin solls ja noch 2? jahre dauern und wer weis, was es bis dahin alles gibt... -- |
|
Profil || Suche |
|
015 13.05.2000, 00:16 |
ja genau, ich kann mir allerdings vorstellen dass die entwickler von republik nur etwas übertrieben auf die werbetrommel gehaut haben (alle bisherigen screens waren zb NICHT von der eigentlichen engine gerendert...) Hmm mal rechnen: wenn ein haus 1.000.000(!) polys haben soll, eine stadt 100 Häuser, dazu nochmal das dreifache an polygonen von irgendwelchen Straßen, -laternen, Telefonzellen... Und jetzt kommts: die verrückten wollen bis zu 30 Städte bauen, das KANN nicht gehen, auch in 10 jahren nicht...und weder eine engine noch die passende hardware wird es in 2 jahren geben... was meint ihr dazu? cu -- |
|
Profil || Suche |
|
016 13.05.2000, 00:20 |
ich wollte noch anmerken: was bringt die supertoll-ultimative hyperaufendigste grafik einem spiel, wenn es keinen spass macht, weil die entwickler alles auf die grafik setzten?? eben.... so und bevor ich noch weiter offtopices zeug schwafele sollte ich lieber offLINE gehen =)=) cu -- |
|
Profil || Suche |
|
017 14.05.2000, 20:07 Prefect |
Schade das ich übers Wochenende weg war und so was verpaßt habe. Ich hätte eigentlich nur noch für crid eine Sache zu Nodes hinzuzufügen. Verdammt, ist das schwer zu erklären... ich versuch's mal: Erstens: Nodes sind keine Leafs. Zweitens: Nodes sind verschachtelt. Jedes Level wird prinzipiell von einem Node aus dargestellt, dem Root-Node. Dieser Root-Node überspannt das gesamte Level. Die Hyperplane dieses Nodes unterteilt das Level in zwei Hälften, die wiederum durch einen Node dargestellt werden. Man könnte natürlich so gesehen die Nodes auch als die Hyperplanes verstehen... <pre> Das soll jetzt mal der Grundriß eines SEHR einfach Level sein. Nach ein paar Splits sieht das Level jetzt wie folgt aus: <pre> i - Hyperplane von Node b So... Die Root-Node (Node A) umfaßt das gesamte Level und sein Hyperplane teilt es in die zwei Subnodes a und b auf. Der BSP-Tree (so wird diese ganze Struktur aus Nodes nämlich genannt) sieht bis jetzt also so aus: <pre> Umm..... nachdem ich hier einen ewig langen Post geschrieben habe: Vielleicht wärs tatsächlich am Besten, die Nodes mit den Hyperplanes gleichzusetzen, und einfach zu sagen: Die Leafs sind das dazwischen. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
018 14.05.2000, 20:10 Prefect |
Achja... zu diesem was-weiß-ich-wieviele-mio-polygone Ding. Die sind einfach verrückt. Oder sie haben zu viel Zeit vor Crays verbracht :) cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
019 14.05.2000, 20:26 Linga Administrator |
wie solls gehen, das unendlich polys angezeigt werden?eine grenze muss doch da sein, sei es von den vielen koordinaten her oder einfach davon, das keine grafikkarte unendlich schnell sein kann...nur der mensch kann unendlich viel verarbeiten, nur kommt er in seinen durchschnittlich 70 jahren nicht dazu.... -- |
|
Profil || Suche |
|
020 14.05.2000, 21:28 Prefect |
Das menschliche Auge funktioniert eigentlich eher wie ein Raytracer. Die sind aber auf Computerbasis noch langsamer... cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
021 14.05.2000, 22:57 BSE_crid |
...außerdem nimmt der Mensch nur einen sehr kleinen Teil dessen, was er im Blickfeld hat, detailliert wahr, ansonsten wäre das Gehirn restlos überfordert. --[BSE] crid Compile-Errors-Artikel (Version 09-01) http://www.crid.de oder http://www-public.tu-bs.de:8080/~y0009981/ |
|
Profil || Suche |
|
022 15.05.2000, 02:05 BSE_crid |
@ Linga: wenn eine Brushfläche an Texturkanten gesplittet wird, dann wird nur diese eine Fläche zerschnitten und nicht der komplette Brush, zu dem diese Fläche gehört (die Engine selbst arbeitet ja nicht mit den Blöcken, sondern nur mit den einzelnen Flächen, die die Blöcke "zur Verfügung stellen"). Man kann diese Blöcke auch als eine Art Hilfsmittel für a) den Mapper und b) die Kompiler sehen. Der Mapper tut sich mit "Kisten " leichter als mit Flächen und die Kompiler können anhand der Blöcke die "Gültigkeit" der Geometrie (z.B. ob keine gekrümmten Flächen vorhanden sind) feststellen, obwohl ich mir nicht so ganz sicher bin, ob die Kompiler tatsächlich die Blöcke als solche "registrieren" oder doch nur die einzelnen Seitenflächen (?). Wobei, wenn man sich diesen Ausschnitt eines Kompilings ansieht: ... ....dann ist eindeutig von >Brushes< die Rede ("CreateBrush") und von Brush-Sides..... @ Prefect: [BSE] crid Compile-Errors-Artikel (Version 09-01) http://www.crid.de oder http://www-public.tu-bs.de:8080/~y0009981/ |
|
Profil || Suche |
|
023 15.05.2000, 12:03 Linga Administrator |
danke crid....is ziehmlich konzenrtations-fordenrt, da ich ja noch mit ner völlig anderen engine zu tun hab....die is nich mit unreal oder quake zu vergleichen, is alles geiler für den mapper:)) spiel dazu gibts in nem jahr vorraussichtlich aber ich will ja auch bischen mitreden:) -- |
|
Profil || Suche |
|
024 15.05.2000, 16:19 Boogdoo |
Uff, das ist ein Post nach meinem Geschmack :) Zumindest verstehe ich das MEISTE der Diskussion (werds mir wohl noch ein paar Mal durchlesen müssen) Boogdoo --------------------------------
|
|
Profil || Suche |
|

