- 02 Sep 2024
- 5 Minuten zu lesen
- Drucken
- DunkelLicht
- pdf
Benutzeroberfläche
- Aktualisiert am 02 Sep 2024
- 5 Minuten zu lesen
- Drucken
- DunkelLicht
- pdf
Allgemeine Materialeinstellungen
Abbildung 1 (MatEdit im „Expertenmodus“ mit geöffneter Col-Datei)
1. Toolbar für die Handhabung von Col-Dateien
Neuer Materialkatalog
Materialkatalog öffnen
Materialkatalog speichern
Druckvorschau
Drucken
2. Toolbar für die Handhabung von Einzelmaterialien
Neues Material
Material löschen
Material suchen
Material kopieren
Material einfügen
Materialinhalt einfügen
Materialhierarchie festlegen
3. Liste der Materialien, die in der zurzeit geladene Col-Datei enthalten ist. Das Material, das in dieser Liste markiert ist, wird im Folgenden „aktuelles Material“ genannt. Die meiste Benutzereingaben beziehen sich auf das aktuelle Material
4. Der im Programm (d.h. P4) anzuzeigende Name des aktuellen Materials. Oft ist es nützlich, programmintern und -extern verschiedene Namen zu verwenden, da der programminterne Name für den Endkunden undurchschaubar sein kann. Für fremdsprachige Übersetzungen werden in der Regel andere Mechanismen eingesetzt (z.B. „Babelfisch“-Mechanismus in P4).
5. Anzeigen des sogenannten Selektionsmaterials, zu dem das aktuelle Material gehört. Ein Selektionsmaterial ist keine tatsächliches Material, sondern der Name einer Gruppe von Materialien. Mit Hilfe von Selektionsmaterialien kann man somit Materialien in Form einer einstufigen Hierarchie übersichtlich Präsentieren. Selektionsmaterialien werden in der aktuellen Version von P4 nicht mehr aktiv eingesetzt, sondern wurden durch eine beliebig tiefe Hierarchie von Gruppierungen ersetzt.
6. Umschaltung zwischen Eingabe von Farben im RGB-Farbraum, d.h. als Rot-, Grün- und Blauanteile, oder im HSL-Farbraum, d.h. in Form von Anteilen für Farbe (eng. Hue), Sättigung (eng. Saturation) und Helligkeit (eng. Luminance).
7. Eingabe der Ambiente Komponente des reflektierten Lichtes. Die Ambiente Komponente ist unabhängig vom Standort des Betrachters und vom Einfallswinkel des Lichtes.
8. Eingabe der diffusen Komponente des reflektierten Lichtes. Damit kann die Grundfarbe einen Gegenstandes definiert werden. Die diffuse Komponente ist ebenfalls vom Standort des Betrachters unabhängig, hängt aber vom Einfallwinkel des Lichtes ab. Damit kann z.B. der Verlauf der Helligkeitsänderung, der sich bei gekrümmten Oberflächen ergibt, dargestellt werden. Hinweis: Die Ambiente und die diffuse Komponente sollten immer den selben Farbton aufweisen. OpenGL lässt zwar verschiedene Farbtöne zu (z.B. Ambiente rot und diffus blau), aber solche Materialien gibt es in der Realität nicht. Das Ergebnis kann in der einen Renderengine (z.B. OpenGL) brauchbar aussehen, in einer anderen Renderengine (z.B. Povray) dagegen nicht. Povray lässt beispielsweise einen unterschiedlichen Farbton bei Ambiente und diffus von vornherein nicht zu.
9. Eingabe der spiegelnden Komponente des reflektierten Lichtes. Die spiegelnde Komponente ist sowohl vom Standort des Betrachters als auch vom Einfallswinkel des Lichtes abhängig. Es können damit eng umgrenzte Helligkeitsanstiege, wie sie für Glanzlichter typisch sind, dargestellt werden.
10. Sonstige Farbeinstellungen:
Spiegelung: Der Anteil des Lichtes, der von einer spiegelnden Oberfläche reflektiert wird. Der Wert 0 steht für nicht spiegelnde Oberfläche, während der Wert 1 für eine vollständig reflektierende Oberfläche („idealer Spiegel“) steht.
Transparenz: Der Anteil des Lichtes, das man durch einen Gegenstand sehen kann. Der Wert 0 steht für einen undurchsichtigen Körper, während der der 1 für einen vollständig durchsichtigen Körper steht.
Brechungsindex: Ein Wert, der den Knickwinkel des Lichtes bestimmt, der entsteht, wenn Licht von einem Medium mit einer bestimmten optischen Dichte in ein Medium mit einer anderen optischen Dichte wechselt.
11. Vorschau des aktuellen Materials
12. Der geometrische Körper, der für die Vorschau verwendet werden soll.
13. Hintergrundfarbe der Vorschau ändern.
14. Name der Textur, die als Teil der Definition des aktuellen Materials dienen soll. Dies ist nur eine Anzeige, Pfad ist bei (15) (Textur …) zu ändern.
15. Öffnen der Texturdefinition
Ergänzung “RGB-Beschränkung”
Wenn aktiviert, dürfen die Summen aus Ambiente, diffusen und spekularen Helligkeiten (getrennt nach Rot, Grün und Blau) den Wert 1 nicht überschreiten. Dies führt typischerweise dazu, dass Glanzlichter heller dargestellt werden. Bei neu erstellten Materialien sollte die RGB-Beschränkung nicht aktiviert werden.
Hintergrund:
Wegen OpenGL dürfen in der internen Verarbeitung die Summen aus Ambiente und diffuser, Ambiente und spekularer, sowie diffuser und spekularer Helligkeit (jeweils für Rot, Grün und Blau) den Wert 1 nicht überschreiten. Dies wurde sichergestellt, indem die Helligkeitswerte im Materialeditor intern umgerechnet wurden. Aufgrund der Art und Weise, wie dies bislang geschah, wurden die Glanzlichter weniger hell dargestellt, als dies möglich gewesen wäre. Diese Eigenheit ist bei deaktivierter Option „RGB-Beschränkung“ ab jetzt aufgehoben.
Textureinstellungen
Abbildung 3: Textdefinition im „Expertenmodus“
1. Dateiname der Textur
2. Textur aus einer Datei laden
3. Vorschau der Textur
4. Texturglättung. Bei der Auswahl ‘Keine’ wird keine Texturglättung angewandt. Bei ‘Wenig’ wird eine linear Interpolation und bei ‘viel’ werden Mipmaps und anisotropisches Filtern verwendet.
5. Größe der Textur in realen Maßen. Die Größe, die hier angegeben wird, sollte ungefähr mit der tatsächlichen Größe der Textur in der Realität übereinstimmen. Wenn z.B. eine Holzmaserung anhand einer Holzstückes mit 100 mm Kantenlänge durch Scannen erstellt wurde, sollte die Texturgröße ebenfalls 100 mm betragen.
6. Anweisung an die Renderengine, die Texturgröße anhand der Objektgröße zu ermitteln. Dabei wird davon ausgegangen, dass die Textur das Objekt genau überdecken soll.
7. Art der Projektion, die verwendet wird, wenn die Textur auf das Objekt übertragen wird. Im Allgemeinen empfiehlt es sich, eine Projektion zu verwenden, die der ungefähren Gestalt des Objekts entspricht. Wenn das Objekt also eine Platte ist, so sollte lineare Projekten verwendet werden, ist das Objekt angenähert ein Würfel, dann quaderförmige Projektion usw.
8. Richtung in der projiziert werden soll. Die genaue Bedeutung ist von der Art der Projektion abhängig. Bei einer linearen Projektion und Projektion in Y-Richtung wird beispielsweise die Textur frontal auf das Objekt projiziert.
9. „am Bildrand beschneiden“: Damit werden die OpenGL-Parameter „Repeat“ (= am Bildrand beschneiden nein) bzw. „Clamp“ (= am Bildrand beschneiden ja) gesteuert. Der Unterschied ist im Anhang unter „‘Repeat‘ versa ‚Clamp‘“ verdeutlicht. Wahrscheinlich gibt es kaum eine Situation, in der man den Effekt von „Clamp“ benötigt, also ist die Einstellung in der Regel auf „nein“ zu belassen.
„rechnerisch“:
Mit den Parametern U (horizontal) und v (vertikal) kann angegeben werden, wie oft eine Textur innerhalb ihrer angegebenen Größe (Punkt 4) wiederholt werden soll. Bei einer Projektion einer 100 mm großen Textur auf eine Fläche wird mit einem Wiederholfaktor von 3 die Textur dreimal je 100 mm wiederholt.
10. Gibt an, welche Orientierungen der Textur im globalen Koordinaten erfolgen soll, und welche im lokalen Koordinatensystem des Objekts. Normalerweise wird man alle drei Einstellungen markieren. In diesem Fall wird für Position, Skalierung und Rotation der Textur das lokale Koordinatensystem des Objekts verwendet.
11. Wird die Checkbox ‘Maskierung verwendet’ aktiviert, kann über die Auswahl eine Methode für eine Transparenz eingestellt werden. ‘Pixel links unten’ verwendet den unteren linken Pixel als Transparenz. ‘RGB-Wert’ verwendet den RGB Farbcode als Transparenz. Alphakanal verwendet die Transparenz welche über PNG weitergegeben wird.
12. Die Position der Textur setzen. Diese Einstellungen werden nur dann verwendet, wenn „Übernehmen von Objektposition“ in Punkt 9 nicht verwendet wird. Die genaue Bedeutung der Werte hängt von der Art der Projektion ab. Wird beispielsweise eine lineare Projektion verwendet und die X-Position auf 100 mm gesetzt, so startet die Textur an der Stelle 100 mm im globalen Koordinatensystem.
In Texturdefinition als „Param1“ und „Param2“.
Beeinflusst das Texturmapping:
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, m_Param1 < 0.001 ? GL_REPEAT : GL_CLAMP );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, m_Param2 < 0.001 ? GL_REPEAT : GL_CLAMP );
Bei Auswahl „ja“ werden beide Parameter auf 1 gesetzt, sonst auf 0.
In Texturdefinition als „Param3“ und „Param4“.
Lt. Programmcode nur relevant für sphärisches Mapping und dient als Multiplikationsfaktor für S und T.
13. Die Rotation der Textur setzen. Diese Einstellungen werden nur dann verwendet, wenn „Übernehmen von Objektrotation“ in Punkt 9 nicht verwendet wird.
14. Textureinstellung übernehmen.
15. Textureinstellungen verwerfen.
16. Textur aus dem aktuellen Material entfernen.