.| Autor | Beitrag |
|---|---|
|
000 13.04.2003, 13:04 functank |
Die modifizierten Zoner Tools von http://collective.valve-erc.com/index.php?go=mhlt unterstützen angeblich folgendes: - Increased maximum subdivide value in hlbsp to 512. You may now specify a value So und ich kann aber nur bis 258 fehlerfrei compilieren. Darüber meldet rad Man kann sich dort auch den Source ziehen, ich hab mir SubdivideFace() mal angesehen und konnte auf anhieb kein limit erkennen, dass den fehler verusachen könnte. static int subdivides; /* a surface has all of the faces that could be drawn on a given plane // ===================================================================================== // special (non-surface cached) faces don't need subdivision tex = &g_texinfo[f->texturenum]; if (tex->flags & TEX_SPECIAL) if (f->facestyle == face_hint) #ifdef ZHLT_NULLTEX // AJM for (axis = 0; axis < 2; axis++) for (i = 0; i < f->numpoints; i++) if ((maxs - mins) <= g_subdivide_size) VectorCopy(tex->vecs[axis], temp); VectorCopy(temp, plane.normal); Der Fehler muss irendwo in dieser funktion liegen, da ähnliche variablen und prozesse auch in der hlrad funktion vorkommen, die den fehler liefert: // ===================================================================================== s = l->face; mins[0] = mins[1] = 999999; tex = &g_texinfo[s->texinfo]; for (i = 0; i < s->numedges; i++) for (j = 0; j < 2; j++) for (i = 0; i < 2; i++) mins[i] = floor(mins[i] / 16.0); l->texmins[i] = mins[i]; if (!(tex->flags & TEX_SPECIAL)) for (i = 0; i < s->numedges; i++) Error( "Bad surface extents (%d x %d)\nCheck the file ZHLTProblems.html for a detailed explanation of this problem", l->texsize[0], l->texsize[1]); Langsam frage ich mich ob einfach nur die konstante in der bsp5.h auf 512 gesetzt wurde und die mapper ihrem schicksal überlassen wurden.... bsp5.h : #ifdef ZHLT_GENERAL Wenn ich texturen sehr gross scale (so 100 z.b.), tritt der fehler nicht mehr auf, da dann die ursprüngliche subdivide size wohl schon grösser als das brush face ist. Ich habe selbstverständlich immer unter openGL getestet. Was eine suddivide size von 512 units bedeuten würde, ist hoffentlich jedem klar: Eine unglaubliche performance steigerung der engine, bzw eine im günstigsten falle halbierung der wpolies, bei allen bisher gemappten maps. Wenn man von einer durchschnittlichen texture scale von 2 ausgeht, würde erst alle 1024 units eine neue fläche berechnet! --War in Europe - the first WW2 modification for HL http://www.warineuropemod.com Dieser Beitrag wurde am 13.04.2003 um 13:05 von func_ tank bearbeitet. |
|
Profil || Suche |
|
001 13.04.2003, 13:23 TheTinySteini |
Mh, frag doch einfach Zoner direkt. --TheTinySteini |
|
Profil || Suche |
|
002 13.04.2003, 13:34 Rockefeller |
Ich bin immer noch sehr skeptisch, was die Lauffähigkeit der so kompilierten Maps im Software-Modus angeht. Die Antwort von Valve war damals ziemlich eindeutig: Es geht nicht. Und das glaube ich solange, bis ich eine vernünftige Map bei mir im Server laufen habe. -- |
|
Profil || Suche |
|
003 13.04.2003, 13:47 functank |
Ich hab gerade mal getestet, als Client und Server läuft ne Map im Softwaremodus mit subdivide 258 ohne Probleme. Aber 258 ist gegenüber 240 noch keine echte Verbesserung.... --War in Europe - the first WW2 modification for HL http://www.warineuropemod.com Dieser Beitrag wurde am 13.04.2003 um 13:48 von func_ tank bearbeitet. |
|
Profil || Suche |
|
004 21.04.2003, 02:07 Tubgirl |
Zoner sagt, das -subdivide höherstellen könne gar nicht fehlerfrei funktionieren... hängt irgendwie mit der Engine zusammenen. |
|
Profil || Suche |
|
005 25.04.2003, 16:29 DavidR. |
Hm.. das mit dem 256er subdivide-Programm hab ich auch mitbekommen, es hieß nur "es funktioniert" usw... aber nix von wegen selber testen! Es gibt aber eine einfachere Möglichkeit ein 256er subdivide wenigstens zu "simulieren", wenn man eine Textur z.B. einfach (1.00) skaliert, dann wird es in 240*240 größe stücke zerteil, wenn man aber jetzt eine Textur mit Ihr wollte jetzt wissen wie ich (das habe ich natürlich selber rausgefunden) das ausgerechnet habe, ganz einfach: (256*256) : (240*240) = 1,1377periode Klar, ihr kommt jetzt: "Das Texturenskalieren polys spart war ja schon lange klar" Aber ich erwiedere: "Warum nehmt ihr dann nicht "1.14" anstelle von "1.00", oder "2.28" anstelle von "2.00"? So spart man polys - und es fällt nicht sehr auf!" _________________________________________ Das hier kann man sich nur im Texteditor gescheit ansehen! So, ich hoffe dass das hier nicht wie letztes Mal, als ich es erklären wollte in Vergessenheit gerät! --Dieser Beitrag wurde am 25.04.2003 um 16:33 von DavidR. bearbeitet. |
|
Profil || Suche |
|
006 25.04.2003, 16:38 ScyTheMan Moderator |
Interessant, sowas steht ja sonst nirgends. *notier* --http://choerbaert.org
|
|
Profil || Suche |
|
007 25.04.2003, 16:50 DavidR. |
Ist ja auch nur von mir! ;-) PS: *Spam* -- |
|
Profil || Suche |
|
008 25.04.2003, 19:48 ScyTheMan Moderator |
Ach ja, was mich noch interessieren würde: Wie bist du auf die Zahlen gekommen, die bei "Original" stehen. Gibt es da einen bestimmten Algo? Man kann ja nicht jede x-beliebige Zahl nehmen und einfach mit 1.377 multiplizieren. http://choerbaert.org
|
|
Profil || Suche |
|
009 26.04.2003, 00:09 DavidR. |
Original? Also das ist ja mehr als einfach! Wenn du eine Textur vorher (bevor du sie auf 256er subdive gestellt hast) um 2 skaliert ist, dann sagst du nun "skaliere auf 2.28", somit werden weniger polys verbraucht... (wenn ein brush-länge durch "256" teilbar ist (und eine "normale" Zahl ohne Komma rauskommt))! Zitat: Natürlich, nur das bei "Original" sind halt häufige Werte, das spart euch Zeit! Ein Programm? Wirkt unnötig, der Windows Taschenrechner reicht! EDIT: Mit Original meinte ich die Werte, die man vorher hat... herr gott, das ist SOOO einfach aber man kanns nicht gescheit erklären! --Dieser Beitrag wurde am 26.04.2003 um 03:34 von DavidR. bearbeitet. |
|
Profil || Suche |
|
010 26.04.2003, 01:36 ScyTheMan Moderator |
Hmm so meinte ich das eigentlich nicht. http://choerbaert.org
|
|
Profil || Suche |
|
011 03.05.2003, 17:58 Dr.Zenz |
Für alle die dieses FixTool mal testen wollen, sollten sich einmal die ZHLT von www.thedoenerking.de runterladen. Dort ist es in der Zip enthalten. Dummerweise funktioniert es bei mir net und stürzt ab. -- |
|
Profil || Suche |

