Apply Textures to Surfaces and Regions
Use textures in visualization functions to shade surfaces and regions.
bunny = ExampleData[{"Geometry3D", "StanfordBunny"}, "VertexData"];{amboyna, ash, burloak, goldenoak, kingwood, laurel, cherry, vavona} = ExampleData /@ {{"ColorTexture", "Amboyna"}, {"ColorTexture", "Ash"}, {"ColorTexture", "BurlOak"}, {"ColorTexture", "GoldenOak"}, {"ColorTexture", "Kingwood"}, {"ColorTexture", "Laurel"}, {"ColorTexture", "LightCherry"}, {"ColorTexture", "Vavona"}};region = RegionPlot[Sin[x] Sin[y] > 0.1, {x, -5, 5}, {y, -5, 5}, PlotStyle -> Texture[burloak], FrameTicks -> None, Frame -> False];spiral = ParametricPlot[{(r t) Cos[t], (r t) Sin[t]}, {t, 0, 3 Pi + Pi / 4}, {r, 0, 1}, PlotStyle -> {Opacity[1], Texture[vavona]}, Mesh -> None, Axes -> None, PlotRange -> All, TextureCoordinateFunction -> ({#1, #2}&), FrameTicks -> None, BoundaryStyle -> None, Frame -> False];plot = Plot3D[Sin[x y], {x, 0, 3}, {y, 0, 3}, PlotStyle -> {Opacity[1], Texture[cherry]}, Mesh -> None, Axes -> None, PlotRange -> All, TextureCoordinateFunction -> ({#1, #2}&), Lighting -> "Neutral", Boxed -> False];bunnysurface = ListSurfacePlot3D[bunny, Mesh -> None, MaxPlotPoints -> 35, PlotStyle -> Texture[goldenoak], PlotRange -> All, TextureCoordinateFunction -> ({#1, #2}&), Lighting -> "Neutral", Axes -> False, Boxed -> False];contour = ContourPlot3D[x ^ 2 + y ^ 2 == z ^ 2 + 1, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, ContourStyle -> Texture[kingwood], Mesh -> None, Axes -> None, PlotRange -> All, TextureCoordinateFunction -> ({#1, #2}&), Lighting -> "Neutral", Boxed -> False];sphere = SphericalPlot3D[1 + Sin[5 ϕ] Sin[10 θ] / 10, {θ, 0, π}, {ϕ, 0, 2 π}, Mesh -> None, Axes -> None, PlotRange -> All, Lighting -> "Neutral", TextureCoordinateFunction -> ({#1, #3}&), PlotStyle -> Texture[amboyna], PlotPoints -> 50, Boxed -> False];bowl = RevolutionPlot3D[Cos[t], {t, 0, 2 Pi}, Mesh -> None, Axes -> None, PlotRange -> All, Lighting -> "Neutral", TextureCoordinateFunction -> ({#1, #2}&), PlotStyle -> Texture[cherry], PlotPoints -> 50, Boxed -> False];enneper = ParametricPlot3D[{u - u ^ 3 / 3 + u v ^ 2, -v - u ^ 2 v + v ^ 3 / 3, u ^ 2 - v ^ 2}, {u, -1.5, 1.5}, {v, -1.5, 1.5}, Mesh -> None, Axes -> None, PlotRange -> All, Lighting -> "Neutral", TextureCoordinateFunction -> ({#1, #3}&), PlotStyle -> Texture[goldenoak], Boxed -> False];enneper = ParametricPlot3D[{u - u ^ 3 / 3 + u v ^ 2, -v - u ^ 2 v + v ^ 3 / 3, u ^ 2 - v ^ 2}, {u, -1.5, 1.5}, {v, -1.5, 1.5}, Mesh -> None, Axes -> None, PlotRange -> All, Lighting -> "Neutral", TextureCoordinateFunction -> ({#1, #3}&), PlotStyle -> Texture[goldenoak], Boxed -> False];cubish = RegionPlot3D[x y z < 1, {x, -5, 5}, {y, -5, 5}, {z, -5, 5}, Mesh -> None, Axes -> None, PlotRange -> All, Lighting -> "Neutral", TextureCoordinateFunction -> ({#1, #3}&), PlotStyle -> Texture[kingwood], Boxed -> False];Grid[{{region, plot, enneper}, {bunnysurface, cubish, sphere}, {bowl, contour, spiral}}]