ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4422480
Jetzt (Chat):
26 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-
"Heightmap LOD Repräsentation" von (xcvb)


das programm erstellt eine statische LOD-repräsentation einer heightmap. da
es sich um ein konsolenprogramm handelt, hab ich lieber mal in- und output
visualisiert :)

die heightmap besteht aus 2 komponenten.
1. ein 16bit höhenwert, der auf den blauen (das highbyte) und den grünen
kanal aufgeteilt ist.
2. einem 8bit wert, der die lokale fehlertolleranz angibt. so kann man z.b.
eine sehr große heightmap verwenden, den bergen am rand der karte jedoch
eine hohe tolleranz (schwarz) zuweisen, da sie im spiel ohnehin nur aus der
ferne gesehen werden.

rechts oben sieht man die farbkanäle kombiniert. das programm berechnet
jetzt, abhängig von globalen minimalen und maximalen fehlerwerten (werden
als parameter übergeben) und den daten in der heightmap eine 8bit
errormap.je heller ein pixel in der errormap ist, desto wichtiger ist er bei
der darstellung des terrains. komplett schwarze pixel liegen innerhalb der
fehlertolleranz und können ausgeschlossen werden. als nächstes sammelt der
algorithmus also noch die höhenpunkte (mit koordianten), die später benötigt
werden und sortiert sie dabei in einen quadtree ein, der es ermöglicht,
schnell alle punkte bis zu einem bestimmten fehlerwert herauszufinden. in
der fehlermap sind außerdem alle erzwungenen teilungen von übergeodneten
leveln erhalten, so das keine cracks entstehen - sie rechts unten. wenn p0
dargestellt wird, werden auch p1, p2 und p3 dargestellt, da sie seinen
fehlerwert gewissermaßen "geerbt" haben. p3 hat noch einen höheren wert,
weil auch der punkt senkrecht über ihm von ihm abhängt.

mfg xcvb






Von Return FALSE am 20.01.2003, 07:01:26 Uhr
Sehr interessante methode!!!, hab davon noch nix gehört. Bin mal gespannt wie das terrain gerendert aussieht...

zitat: "16 bit höhenwert". also effektiv sinds 8 bit höhe? ist die detailmap nicht für die struktur? oder benutzt du die um die höhenwerte zu verfeinern und es nicht zu bumpy aussehen zu lassen?

schönen tag noch... muss zur schule

Gruss
Return FALSE

Von xcvb am 20.01.2003, 18:00:07 Uhr
der blaue kanal enthält höhenstufen in 256er schritten und der grüne die 256 schritte dazwischen. da ich bisher die maps mit corel photopaint bearbeite, kann ich den grünen kanal noch nicht richtig mit daten füllen, da ich nicht in 16bit graustufen interpolieren und die kanäle dann wieder teilen kann. deshalb hab ich in den grünen kanal erst mal ne gefilterte version des blauen kanal gepackt, um ein paar abstufungen zu erhalten.

eigentlich hatte ich vor innerhalb der nächsten 4 wochen auch ne gerenderte version anbieten zu können, aber da ist mir jetzt doch glatt die verteidigung einer amerikanischen liegenschaft dazwischengekommen (was man als bundi so alles erlebt). also wirds ein bisschen länger dauern, bis ein ordentlich texturiertes terrain zu sehen sein wird. ne wireframe screenshot ohne textur kann ich (je nach anzahl der freien wochenenden) hoffentlich schon bald zeigen.

Von ONeinONeill am 21.01.2003, 12:48:10 Uhr
Hi,

echt klasse Methode. Mich würde auch mal interessieren, wie ein Terrain damit aussieht?

Von Tanubi am 22.01.2003, 20:29:44 Uhr
Ich hab das irgendwie net so ganz geblickt. Vor allem net des zu dem Bild ganz rechts unten, warum p1, p2, p3 dargestellt werden müssen, wenn p0 dargestellt wird.

Von Hippokrates am 22.01.2003, 22:53:41 Uhr
Sieht nach einer nützlichen Technik aus. Sowas würd ich auch gern können ;)