[Schluchten/Fels] im Terrain ?



  • Hi,

    Jetzt kommt bestimmt gleich: "Das macht man doch mit der Heightmap!".
    Einmal ja und einmal Nein!
    Meiner Meinung ist es Schluchten Extern der Heightmap haben sollte.

    Grund:
    -----

    Schluchten und größere Felsen haben oft eine niedrige Detailstufe.
    Vielleicht 5-8 Polygone pro Fläche/Seite.

    D.h. Eine gesamtes Schlucht-Objekt enthält vielleicht dann 40-50 Polygone und es sieht immernoch entsprechent gut aus.
    Man berechnet die Polygone die nicht gerendert werden müssen. ( Also diese, welche durch das S-Objekt verdeckt werden ).

    Dadurch hat man auf jedenfall bessere Manipulationsflähigkeiten wie zb. Teile des Fels/Schluch sprengen/kapput machen/kann.

    Was haltet ihr davon ?

    Bye


  • Mod

    [Numerus] schrieb:

    Hi,
    Schluchten und größere Felsen haben oft eine niedrige Detailstufe.
    Vielleicht 5-8 Polygone pro Fläche/Seite.

    D.h. Eine gesamtes Schlucht-Objekt enthält vielleicht dann 40-50 Polygone und es sieht immernoch entsprechent gut aus.

    wieviele objeckte mit je wieviel polys möchtest du denn am ende zeichnen?

    und eigentlich ist beim zeichnen von objeckten mit 50polys das teuerste dabei der renderaufruf selbst, nicht das rendern an sich.

    eigentlich sollte heute objeckte mit ein 2k polys garkein problem sein.

    Laut NVidia sollte man pro bild maximal 500mal den renderaufruf machen. so würdest du auf 1M polys/bild kommen. eine dx9 karte sollte das bei 30fps können.
    drei beispiele:
    NVIDIA GeForce 4 Ti 4200-8x : max. 113M Poly/s (dx8 I know!)
    NVIDIA GeForce FX 5600 Ultra: max. 100M Poly/s
    NVIDIA GeForce FX 5950 Ultra: max. 356M Poly/s

    effektiv kannst du mit 25% der transformationsleistung rechnen, du hättest also noch 25FPS.

    wenn du 500 aufrufe hättest mit je zwei polys, sollte deine framerate nicht viel höcher sein, da der aufruf selbst als limitierender faktor auftaucht. das ist z.b. ein grund, weshalb Q3A früher schon die zu rendernden dinge zusammengefasst hat in wenigen arrays um weniger aufrufe zu haben und die hardware effektiver rendern zu lassen.

    rapso->greets();



  • Ich würds tatsächlich mit der HM machen, weil es dann automatisch in dem "normalen" LOD mit drinnen ist und keine Cracks entstehen können. Kann durchaus sein, das man für das "Löcher machen" im Terrain mehr bezahlt als man mit den Schluchtenobjekten sparen kann (siehe rapso Zahlen). Auch musst du bedenken, das du dann wieder extra Kollisionsabfragen usw. benötigst.



  • Hi,
    Ich denke auch, dass es veilleicht besser ist, es mit der Heightmap zu lösen.
    Aber wenn ich es mit einem Objekt mache, kann ich zb. ein "Tunnel" artigen Felsen erstellen. Was mit einer only Heightmap eher nicht geht ....

    Bye


  • Mod

    [Numerus] schrieb:

    Hi,
    Ich denke auch, dass es veilleicht besser ist, es mit der Heightmap zu lösen.
    Aber wenn ich es mit einem Objekt mache, kann ich zb. ein "Tunnel" artigen Felsen erstellen. Was mit einer only Heightmap eher nicht geht ....
    Bye

    geht eigentlich, mußt wohl nur ein wenig mit dem stencilbuffer spielen 🙂

    rapso->greets();



  • Hi,
    Kannst du bitte erläutern wie das ungefähr gehen soll.

    Ich kann mir das nur so vorstellen, dass man eine weiter Farbe in der Heightmap als zweite höhe nimmt ...

    Bye



  • [Numerus] schrieb:

    Ich kann mir das nur so vorstellen, dass man eine weiter Farbe in der Heightmap als zweite höhe nimmt ...

    Und wie soll das gehen?!? Ne Heightmap besteht aus Graustufen, da sind alle Farben belegt. In EINER HM wird's wohl nicht gehen...
    Und rapso verstonn ich uch net. Vielleicht meint er nachher zum Rendern, aber zum Erstellen?!? 😕



  • Hi,

    Die Heightmap besteht nicht mehr aus 8 Bits pro Pixel sondern aus 16 Bits.
    Also zwei höhenwerte pro Pixel, die dann einmal die gesamte höhe und einmal die absolute Höhe des Terrain punktes angiebt.

    Cu


  • Mod

    klar könnte ich es dir erklären, aber da es schönere beschreibungen gibt mit darstellungen und geprüften source, geb ich dir lieber den link dazu.

    http://www.google.com/search?q=stencil+csg&sourceid=opera&num=0&ie=utf-8&oe=utf-8

    gleich der erste schien ok zu sein, mit oGL source ganz unten, wenn ich richtig sah.

    rapso->greets();



  • Wenn du nun plözlich die Anforderungen änderst ("Ich brauch Tunnel"), ist der HM only Ansatz natürlich nicht mehr ideal.



  • Hi,

    Jo, denk ich auch. Aber die Lösung mit dem Stencil Buffer find ich auch jetzt nicht passent.

    Gibt es dafür keine bekannte, verbreiteten Lösungen ?

    Bye


  • Mod

    [Numerus] schrieb:

    Hi,

    Jo, denk ich auch. Aber die Lösung mit dem Stencil Buffer find ich auch jetzt nicht passent.

    ich finde schon 😃

    merkste wat? argumente?

    rapso->greets();


Anmelden zum Antworten