Blender can produce stunning shaded illumination maps using ray-tracers. It knows nothing about projections but once we get the shade grayscale image we can use it in GMT. Here’s an example (not fully comprehensible, I know)
using GMT
Gib = grdcut("@earth_relief_15s", region="-15/4/34/45");
color = gdaldem(Gib, "color-relief"; color="earth");
Iblend = gmtread("iberia_rt_s15.png"); # ALMOST ALL WORK LIES HERE
Iburn = blendimg!(color, Iblend, mode="LinearBurn", new=true);
Ib = blendimg!(Iburn, Iblend, mode="Screen", new=true);
viz(Ib, proj=:guess, coast=1)
I have created this little tutorial that has some more informations to support the involved mechanics
https://www.generic-mapping-tools.org/GMTjl_doc/tutorials/blender_shading/blender_rt/