Gamma (in Vue)

Das Thema gilt nicht nur für Vue, wird hier aber für Vue beispielhaft dargestellt.

Stellen wir uns einmal ein kleines Stück den Weg einer Blatttextur vor, bis wir den Baum mit dieser Textur in Vue aussuchen und rendern möchten…

Evtl. wird ein Blatt fotografiert (oder z. B. selbst gemalt oder mitgenommen und zu Hause z. B. eingescannt),

der Hintergrund wird entfernt, das Blatt evtl. noch verändert usw. und als z. B. .tif gespeichert (in einem 2D Grafikprogramm)

…….

Wir wählen den Baum aus und Rendern unsere Szene, Speichern den Rendern, öffnen den Render ggf. in einem 2D Grafikprogramm und verändern den Render und Speichern erneut.

Ich denke bis hier hin dürfte so weit alles klar sein.

Und „dann“ kommt Gamma….

Bei allem was wir oder vorher eben andere Menschen mit dieser Textur gemacht haben, es wird jedes Mal der Gamma-Wert vorgegeben. Ich möchte hier nicht allzu tief in das Thema eintauchen, lediglich ein klein wenig mehr Licht in die Geschichte bringen.

Der Gammawert der Textur ist – bis wir unseren Render am Ende irgendwann vor uns haben bzw. bevor wir unsere Szene rendern – bestenfalls der Wert 1.0 (linear).

Nun haben Monitore die Windows-Betriebssysteme anzeigen einen Gammawert von 2.2, Monitore die Mac-Betriebssysteme anzeigen früher einen Gammawert von 1.8, heutzutage einen Gammawert von 2.1.

Zusätzlich weiß man nicht, ob der Mensch welcher diese schöne Textur irgendwann erstellt hat den Monitor überhaupt kalibriert hat. Unseren eigenen Monitor kann man z. B. ggf. am Monitor, mit seinem 2D-Grafikprogramm (Paint Shop Pro u. a.) oder mit Hardware einstellen.

Auf jeden Fall kann man davon ausgehen, dass sicherlich nicht alle Menschen auf facebook ihre Monitore kalibriert haben, vor allem jene Menschen nicht, die ansonsten mit Grafik eigentlich nicht wirklich viel zu tun haben.

Diese Dinge sorgen dafür, dass alle unsere Texturen z. B. in Vue unterschiedliche Gammawerte haben (können),

der fertige Render auf unterschiedlichen Computern anders aussieht und

der fertige Render oftmals in den dunkleren Bereichen viel zu dunkel ist.

Es ist egal ob es sich um eine Hauswand, einen Stein, ein Geländematerial oder sonstiges handelt was eine Textur als Material verwendet!

 

Was also kann man tun?

Nun, ich könnte hier einfach eine Lösung hinschreiben, aber das ist ja nicht so meins. Viel lieber zeige ich auch hier ein paar Möglichkeiten auf was man so machen könnte. Denn so erkennt jeder den Unterschied und weiß im Anschluss, warum man am Besten was einstellt und wie es aussieht wenn man eben alles so lässt wie es ist (das machen (leider) ziemlich viele Menschen).

Auf geht’s 🙂

 

Zunächst öffne ich in Vue eine neue normale Szene. Da diese als Standard in Vue 2015 als Atmosphärenmodell  „Photometric Spectral“ verwendet, meine hier verwendeten Pflanzen (Beiträge 001 A – C) aber eher für „Standard Spectral“ angedacht sind, stelle ich das Atmosphärenmodell um und lasse Vue alles automatisch einstellen ohne im Anschluss noch irgend etwas in der Atmosphäre, dem Stand der Sonne o. ä. zu ändern.

Ich wähle das Pflanzenobjekt „AF05a“ (Egyptian Carissa) aus und füge den Baum in der Szene ein (links), wähle die Alt-Taste bei ausgewähltem Baum und verschiebe die Maus. Damit erstelle ich ein Duplikat vom ersten Baum (rechts).

Den linken Baum lasse ich so wie er ist, für den rechten werde ich nun im Material-Editor den Gammawert jeweils auf 1.0 (1) einstellen, damit man in den Rendern hin und wieder die Unterschiede der beiden Bäume erkennen kann.

Den Texturen des rechten Baumes gebe ich jeweils in der Bezeichnung (Mitte) z. B. eine 2, ein B oder irgend etwas damit die Texturen anders heißen als die Texuren von dem linken Baum. In Vue 2015 hatte ich bisher zwar keine Probleme, aber in älteren Vue-Versionen werden bei Verwendung von gleichem Material hier und da gerne die Einstellungen automatisch für alle gleiche Texturen in der Szene übernommen (und das ist ja hier extra nicht gewünscht).

Den Gammawert für eine Textur im Materialeditor zu ändern ist nicht schwer:

Im Tab „Color & Alpha“ (Farbe & Alpha) rechts neben der angezeigten Textur in der Mitte auf das y-Symbol klicken. Alternativ dazu kann man mit der rechten Maustaste auf die Texturv in der

Mitte klicken und dann „Gamma“ wählen. Das Zielfenster ist gleich:

Gamma der Textur einstellen

Nach dem Ändern aller Texturen für den rechten Baum kann es mit den Renderbeispielen auch schon los gehen (1x Rendervorgaben einstellen (Final) und im Anschluss auf den Gamma-Button klicken)….

Die nachfolgenden Einstellungen für den Gamma-Wert beim Rendern ist so weit ich weiß nur in den Versionen ab Infinite möglich (man kann sich aber auf e-on software die PLE kostenlos runterladen und das ggf. dort einmal selber ausprobieren)

Gamma für den Render einstellen

Im linken Fenster für „Gamma Options“ sollte Gamma so eingestellt werden, dass der graue Bereich in der Mitte beim Blinzeln dem grauen Bereich rund herum entspricht. Bei mir ist es in Vue selbst der Wert 1.26 für die Korrektur, auch wenn das auf oberen Bild evtl. anders aussehen mag (einfach über die Druck-Taste an der Tastatur kopiert). Für Input und Output habe ich hier erst einmal jeweils den Wert 1.8 eingetragen. Alles Andere für die Rendereinstellungen lasse ich unverändert.

Hier noch einmal die Ansicht der beiden Bäume alleine:

Der erste Render nach gemachten Einstellungen für die Gamma-Korrektur

Die Unterschiede der Blätter für beide Bäume sind auf den ersten Blick nicht sooo enorm, aber bei genauerer Betrachtung fallen einem eben doch Unterschiede auf ( rechts handelt es sich zu 100% um den gleichen Baum wie links, nur die Gammawerte für die Texturen wurden auf 1 eingestellt). Hier in diesem Beitrag erscheint das Bild an meinem Monitor insgesamt etwas heller als in Vue vor dem Abspeichern (.jpg, 100%).

Das Renderfenster wurde geschlossen und die exakt gleiche Szene nun mit den gerade gemachten Einstellungen erneut gerendert und auch im Anschluss nichts verändert. Den Unterschied zwischen den Bäumen erkennt man nun ganz deutlich, wenngleich auch hier die Grafik im Beitrag insgesamt heller erscheint als in Vue selbst:

Fertiger Render nach! geändeter Gammaeinstellung

Für nachfolgende Grafik wurde für die Gammaoptionen „Input“ der Wert 1.0 und für „Output“ ein Wert von 2.2 vorgegeben und im Anschluss die Grafik erneut gerendert (ebenfalls heller als in Vue selbst):

Gamma 1.26, Input 1, Output 2.2

Der nächste Render verwendet für Gamma 1.26 sowie für Input und Output jeweils den Wert 1.0 (alles andere bleibt wie gehabt und die Szene wird im Anschluss neu gerendert):

Gamma 1.26, Input 1.0, Output 1.0

Die obere Grafik erscheint auf meinem Monitor weitaus „klarer“ als die anderen Grafiken zuvor, aber auch dunkler als in Vue selbst.

Nachfolgendes Beispiel zeigt die Verwendung von Gamma 1.26, Input 1.0 und Output mit 1.26 (also dem Wert der Gammakorrektur selbst, die wir in Vue festgelegt haben, ebenfalls im Anschluss neu gerendert und mit 100% als .jpg abgespeichert):

Die obere Version hier zeigt – so weit ich das mit meinen Augen beurteilen kann – exakt die Wiedergabe wie ich sie auch in Vue vorfinde. Somit wäre diese letzte Version bis hierhin die beste Wahl.

 

Aber, man kann

a: beim Speichern selbst noch den Gammawert korrigieren

b: die Grafik im Anschluss z. B. in einem 2D-Grafikprogramm weiter bearbeiten und gibt auch dort wieder (unbewusst) einen Gammawert mit.

Auch das sollte man sich einmal wenigstens kurz ansehen….

Der fertige Render (letztes obere Bild wird nun mit einer Gamma-Korrektur von 1.0 (linear) abgespeichert:

Gamma 1.0 beim Abspeichern
Ergebnis mit Gammawert 1.0 beim Abspeichern

Das gespeicherte Werk entspricht nun wieder eher dem vorletzten gespeichertem Render und ist dunkler als in Vue selbst. Daher verwenden wir nun auch hier den korrigierten Gammawert von 1.26 beim Speichern:

Gammavorgabe von 1.26 beim Speichern

Man kann also beim Speichern entweder die Gammavorgabe deaktiviert lassen und hat – mit den Augen erkennbar – soweit erst einmal das gleiche Ergebniss wie mit der Gammavorgabe der Gammakorrektur beim Rendern.

Öffnen wir nun die Grafiken in unserem 2D-Grafikprogramm (in meinem Fall Paint Shop Pro 18 Ultimate) und sehen uns dort die Render die auch gespeichert am ehesten der Anzeige in Vue entsprechen einmal an.

Beide! Grafiken sehen in dem Programm wieder dunkler aus und entsprechen somit nicht mehr wirklich dem in Vue gezeigten Render vor dem Speichern, dennoch ist die Vorgabe eines linearen Gammawertes von Vorteil, sofern man die Grafik im Anschluss noch in einem 2D-Grafikprogramm öffnen und bearbeiten möchte.

Die Grafiken werden absoult unverändert einfach nur abgespeichert und hier erneut eingefügt:

Bleiben wahrscheinlich noch mindestens 2 Dinge offen…

  1. Was ist, wenn man für Input einen höheren Wert einträgt und für Output den korrigierten Wert und beim Speichern z. B. Gamma auf 1.26 einstellt?
  2. Was ist, wenn man Gamma bereits in Vue einfach nicht verwendet?

Nachfolgend die Grafik zu Punkt 1:

Gamma in Vue 1.26, Input 2.2 Output 1.26, neu gerendert und mit Gamma 1.26 gespeichert

Und das Beispiel für deaktivertes Gamma beim Speichern:

Gamma beim Speichern deaktivert

 

Nachfolgendes Beispiel zeigt Punkt 2,  das Ignorieren von Gamma im Render von Vue selbst (im Anschluss noch einmal erneut gerendert) und beim Speichern ein Gamma von 1.26:

und das Beispiel für kein Gamma in Vue und kein Gamma beim Speichern:

Letzte Version entspricht wieder eher dem Renderergebnis in Vue. Man mag meinen beide Bäume seien gleich, aber man achte beispielsweise einmal auf die unterschiedlichen Schattengebungen an der Baumrinde beider Bäume…

Gut, aber was wäre, wenn den Texturen des rechten Baumes nun der korrigierte Gammawert mitgegeben würde und alles andere bleibt wie gehabt?

Eins gleich vorweg: Die letzte gezeigte Version ist völlig absurd!

Das würde bedeuten, man rendert die fertige Szene 1x, aktiviert die Gammafunktion in Vue um den korrigierten Wert herauszufinden, deaktivert Gamma und ändert sämtliche Texturen in der Szene um den korrigierten Wert, nur um dem Render kein Gamma zuzuführen. Und das jedes Mal bei jeder Szene. Ja… Mahlzeit!

Man kann den Gammawert oben korrigieren und beispielsweise annehmen, das sämtliche Texturen in der Szene einen Anfangs-Gammawert von z. B. 1.8 haben. Haben sie das? Sind alle Objekte vom selben Verkäufer oder arbeiten alle Verkäufer auch mit einem Mac und nutzen die alten Gammawerte von 1.8 oder doch eher von 2.1 oder hat hier und da wer doch einen Windows und einen  Gammawert von 2.2?

Sobald man den Gammawert für Input höher als 1 einstellt, wird der linke Baum in den Texturen dunkler als jene des rechten Baumes.

Es lohnt sich die Gamma-Werte einzutragen (Vorschau oder Qualität Final oder Benutzerdefiniert mit ganz leicht renderbaren Einstellungen) und dann das Werk in „gut“ zu rendern.

Die Gammawerte nach „gut Aussehen“ zu verändert bis einem für dieses Beispiel der linke Baum gefällt ist nicht sehr sinnig und führt auch auf unterschiedlichen Rechnern zu unterschiedlichen Ergebnissen.

Ich persönlich gebe lieber 1x den Texturen im Materialeditor den Gammawert von 1.0 (linear) vor und gebe das auch so dann dem Render mit. Gut, das mag u. U. einiges an Arbeit sein, aber man muss ja nicht gleich alles auf einmal ändern sondern eben dann, wenn man es gerade nutzen möchte. 1x anpassen, z. B. das Pflanzenobjekt neu abspeichern und im Anschluss immer so nutzen. So haben vor dem eigentlichem Rendern auf jeden Fall alle Texturen den gleichen Gammawert-Stand, das ist doch schon mal was.

Grundsätzlich reicht das Gamma-Fenster für den Render selbst. Gamma für eine Textur die man dann meint noch anpassen zu müssen kann man dann immer noch im Materialeditor anpassen. Aber wie gesagt, nehme ich lieber die andere Variante.

Wenn man das Bild im Anschluss noch in einem 2D-Grafikprogramm bearbeiten möchte ist es sinnvoll auch hier möglichst linear zu bleiben, damit die Grafik entsprechend möglichst bei jedem gleich aussieht.

Das hier war nun nur ein Beispiel für 2 (eigentlich 1) einfache Bäume. Weitaus mehr fällt es z. B. bei Innenraumszenen auf, die je nach gemachten Einstellungen einfach wesentlich zu dunkel erscheinen oder anders herum eben völlig ausgewaschen.

Hier nun die abschließenden Versionen:

Der obere Gammawert in Vue ist immer noch auf 1.26 korrigiert. Durch die Änderungen der Gammawerte für die Texturen vor dem Rendern steht Input auf 1.0. Mein Monitor verwendet normal ein Gamma von 2.2, also ändere ich den Gammawert für Output auf 2.2, den Gammawert beim Speichern jedoch auf den Gammawert 1.0 (linear)  für eine weitere Verwendung in PSP 18 U. Gespeichert wurde nachfolgender Render wie alle anderen in 100% .jpg, auch wenn sich die Wahl von .tif (Bildinformationen) weitaus mehr empfiehlt. Es reicht völlig und ist empfehlenswerter die Grafik erst am Ende als .jpg abzuspeichern… :

Übrigens kann man auch Farben einen Gammawert vorgeben. Dafür fügt man zwischen dem Farbknoten und dem Ausgabeknoten „Color“ einfach einen Knoten „Gamma“ mit dem Wert 1. hinzu:

 

Ich hoffe der kleine Ausflug in die Gamma-Welt ist so weit verständlich und entlockt evtl. hier und da ein „Ahaaa“ hervor.

Viel Spaß beim Testen, Rendern und Werkeln! 🙂