Boolesche Algebra mit Körpern - Teil VII
Über Texturen bei CSG-Objekten
Probleme, die sich mit strukturierten Texturen bei allen Arten von csg-Objekten ergeben können:
Bei durch "union" verbundenen Körpern behalten die einzelnene Teilkörper ihre ursprüngliche Textur bei.
Bei Körpern, die durch Differenz oder Schnittmenge ('intersection') gebildet werden, erhält der Körper
an den ab- oder ausgeschnittenen Körperparien die Textur des dort jeweils davon subtrahierten Körpers.
Will man ein csg-Objekt mit einer durchgängigen strukturierten Textur versehen, so sollte die Texturierung des Objektes möglichst erst
am Ende der union, difference oder intersection für den gesamten Körper zusammen erfolgen.
Dies spart nicht nur Schreibarbeit, sondern garantiert auch die Durchgängigkeit von strukturierten Mustern.
Eine andere elegante Methode bietet das Schüsselwort "cutaway_textures" (vgl. unterstes Beispiel).
Beispiele:
Texturen bei Differenzbildung
difference{
box { <0,0,0>,<1,1,1>
texture{ My_YellowGreen }
}
sphere{ <0,0,0>,0.5
texture{ My_Yellow }
translate<1,1,0>
}
}// end of difference -------------- |
Unterbrochene Maserung
difference{
box { <0,0,0>,<1,1,1>
texture{ My_Wood }
}
sphere{ <0,0,0>,0.5
texture{ My_Wood }
translate<1,1,0>
}
}// end of difference ------------- |
Durchgehende Maserung Einzelkörper ohne Textur, gemeinsame Textur am Ende definiert.
difference{
box { <0,0,0>,<1,1,1>
}
sphere{ <0,0,0>,0.5
translate<1,1,0>
}
texture{ My_Wood }
}// end of difference ------------- |
Durchgehende Maserung Verwendet "cutaway_textures", Textur des Grundkörpers wird verwendet.
difference{
box { <0,0,0>,<1,1,1>
texture{ My_Wood }
}
sphere{ <0,0,0>,0.5
translate<1,1,0>
}
cutaway_textures
}// end of difference -------------- |
|
Texturen bei "difference"
Unterbrochene Maserung
Durchgängige Maserung
|
|