One issue is that "Hexagon"
is not a pre-defined texture. You'll need to make your own hexagon image that you want to use as a texture. For example, this code:
hex = With[{t = 0., cols = RGBColor /@ {"#7696DB", "#562D7D"}},
Graphics[{Thickness[.005], CapForm["Round"], Table[{
cols[[1]],
Line[{Sqrt[3] (i + (-1)^j/4), 3/2 j} + # & /@ (Sqrt[3]/
2 {{Cos[\[Theta]],
Sin[\[Theta]]}, {Cos[\[Theta] + 2 \[Pi]/6],
Sin[\[Theta] + 2 \[Pi]/6]}})]}, {i, -4, 4}, {j, -4,
4}, {\[Theta], (-1)^j \[Pi]/6, 2 \[Pi] - (-1)^j \[Pi]/6,
2 \[Pi]/6}]},
PlotRange -> {{-6 + Sqrt[3]/4, 6 + Sqrt[3]/4}, {-6, 6}},
Background -> cols[[-1]], ImageSize -> 540]
]
...produces the following image:
Then we can apply this as a texture on your torus (notice, in particular, the use of Mesh -> None
, Lighting -> "Neutral"
, and PlotPoints -> 25
to make this look better):
ParametricPlot3D[{(2 + Cos[v]) Cos[u], (2 + Cos[v]) Sin[u],
Sin[v]}, {u, 0, 2 Pi}, {v, 0, 2 Pi}, PlotStyle -> Texture[hex],
Mesh -> None, Lighting -> "Neutral", PlotPoints -> 25]
Here's the result: