Operation: Highmap addieren

Lesezeit: 2 Minuten

Habe ich zwei skalierte Highmaps, kann ich sie addieren, indem ich einfach die Grauwerte addiere.

Bei meinen Substance-Plugins möchte ich Filter und Generatoren davon trennen, mache also eine neue Komponente auf: die Operation.

Erweiterung in der Substance-Klasse

Ich benötige externen Zugriff auf die ID und die Bildresource, daher füge ich zur substance-Klasse hinzu:

Und ergänze den Aufruf von Operationen:

Grundsätzliches

Die beiden Highmaps sollten skaliert sein. Das meint z. B. – eine Highmap ist skaliert mit Werten von 0 bis 250. Die andere von 0 bis 5. Addiere ich diese Highmaps, so erhalte ich eine Highmap von 0 bis 255. Die Skalierung von Highmaps hatte ich hier beschrieben: Algorithmus: Highmap shift

Beide Maps sollten tatsächlich Highmaps sein – sprich Graustufen-Bilder.

Beide Maps sollten die selbe Größe haben.

Ablauf

Zuerst werden beide Grauwerte der Maps ermittelt. Dann werden diese Grauwerte addiert (dabei Maximum: 255 beachten).

Anwendung

Zu meinem Wolkenbild möchte ich eine Noisemap addieren:

Herauskommt dies:

Weiterführende Links

Um alle Funktionen für den Sand aus Mission on Mars: UV-Map generieren zu beschreiben, fehlt nun noch die Funktion „colorize“. Dazu im nächsten Blog Filter: ColorizeBW mehr.

PHP-Code

Und als krönenden Abschluss hier wieder die Implementierung:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.