Algèbre booléenne des Solides - part VII
Textures et CSG
Problèmes rencontrés avec les textures structurés de types bois ou des objets csg :
Si on connecte des formes avec "union" les différentes parties de celles-ci
gardent leurs structures originelles. Si on modèle des formes avec
"difference" et/ou "intersection"
la forme résultante aura la texture de la forme qui a été coupée exactement aux parties
qui ont été enlevées. Si on veut une texture structurée continue sur un tel objet,
il faut que celle-ci soit appliquée à la fin, après les avoir imbriquées par union,
difference ou intersection, pour tous les éléments imbriqués ensemble.
C'est à peine plus facile à écrire, mais ça garantie une texture structurée continue.
Exemples :
Textures d'une "difference"
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 ------------- |
grain discontinue
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 ------------- |
grain continue
parties sans texture, en applicant une texture commune à la fin.
difference{
box { <0,0,0>,<1,1,1>
}
sphere{ <0,0,0>,0.5
translate<1,1,0>
}
texture{ My_Wood }
}// end of difference ------------- |
grain continue utilisant "cutaway_textures",
La texture de forme de base est appliquée.
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 ------------- |
|
Textures de "difference"
grain discontinue
grain continue
|
|