$Version
"13.1.0 for Linux x86 (64-bit) (June 16, 2022)"
bdg = BoundaryDiscretizeGraphics[
Text[Style["hello", FontFamily -> "Cambria"]], _Text]

linecoords = (MeshPrimitives[bdg, 1, Multicells -> True] /.
Line[x_] :> Line[Join @@ x])[[All, 1]];
{xminmax, yminmax} = MinMax /@ Transpose[Join @@ linecoords];
rsT[newRanges_ : {{-Pi/4, Pi/4}, {-1/4, 1/4}}] :=
RescalingTransform[{xminmax, yminmax}, newRanges];
spCoords = {Cos[#] Sin[ArcCos @ #2], Sin[#] Sin[ArcCos @ #2], #2} & @@@
rsT[][#] & /@ linecoords;
Graphics3D[{Opacity[1], White, Tube[#, .02] & /@ spCoords,
MaterialShading[{"Glazed", Red}], Sphere[]},
Boxed -> False, ImageSize -> 600,
Lighting -> "ThreePoint", ViewPoint -> {3, -1, 0.5}]

spCoords = {Cos[#] Sin[ArcCos@#2], Sin[#] Sin[ArcCos@#2], #2} & @@@
rsT[{{-Pi/3, Pi/2}, {-1/3, 1/3}}][#] & /@ linecoords;
Graphics3D[{Opacity[1], White, Tube[#, .03] & /@ spCoords,
MaterialShading[{"Glazed", Red}], Sphere[]},
Boxed -> False, ImageSize -> 600,
Lighting -> "ThreePoint", ViewPoint -> {3, -1, 0.5}]

For another example, take the surface produced by Plot3D:
f[x_, y_] := 2 Sin[x + y^2];
plot3D = Plot3D[f[x, y], {x, -3, 3}, {y, -2, 2},
PlotStyle -> MaterialShading[{"Glazed", Red}],
Mesh -> False, BoundaryStyle -> None, Boxed -> False,
Axes -> False, Lighting -> "Neutral", PlotRange -> All,
SphericalRegion -> True];
surfaceCoords = ({#, #2, f[#, #2]} & @@@
RescalingTransform[{xminmax, yminmax}, {{-3/2, 3/2}, {-1, 1}}]@#) & /@
linecoords;
Show[plot3D,
Graphics3D[{Opacity[1], White, Tube[#, .05] & /@ surfaceCoords}],
ViewPoint -> {-0.5, -2, 2.5}]

text = Style["Hello!", 200]; R := 4; ParametricPlot3D[{R Sin[u] Cos[v],R s Sin[u] Sin[v], R Cos[u],, , {u, 0, Pi}, {v, 0, 2 Pi}, Boxed -> False, Axes -> False, Mesh -> False, PlotStyle -> {Directive[Texture[text]], Opacity[.5]}, TextureCoordinateFunction -> ({#4, #5} &)]
– Humberto José Bortolossi Apr 30 '23 at 09:44