How to use Tikz \shade command in order to achieve 3D like results

This is what I was able to do in 20 + 10 minutes... the remaining fine-tuning would take quite a bit longer. EDIT: Added shadows.

enter image description here

\documentclass[tikz,border=3.14pt]{standalone}
\usetikzlibrary{shadings}

\newcommand{\translight}[1]{\begin{scope}[#1]
\shade[top color=gray,bottom color=black] (0,0) -- ++ (1.9,0) -- ++ (0,-1.9) -- ++(-0.8,0) to
[out=90,in=-90] ++(-1.1,1.7) -- cycle;
\draw[fill=black!80!gray] (1.9,0.3) -- ++(0.2,0) -- ++(0,-2.4) -- ++(-0.2,0) -- cycle;
\end{scope}
}
\newcommand{\bulb}[2][]{\begin{scope}[#1]
\draw[thick,fill=black!80!gray] (-1.2,-1.4) coordinate (bl) rectangle ++(2.4,2.2)
coordinate (tr);
\shade[ball color=#2] (0,-0.2) circle (0.9);
\draw[fill=black!97!gray] (bl) -- ++ (-0.12,-0.12) -- ++(2.64,0) -- (bl-|tr) -- cycle;
\draw[fill=black!98!gray] (bl-|tr) -- ++ (0.12,-0.12) -- ++(0,2.44) -- (tr) -- cycle;
\draw[fill=black!50!gray] (tr-|bl) -- ++ (-0.12,0.12) -- ++(2.64,0) -- (tr) -- cycle;
\draw[fill=black!50!gray] (tr-|bl) -- ++ (-0.12,0.12) -- ++(0,-2.44)
-- (bl) -- cycle;
\end{scope}
}

\begin{document}
\begin{tikzpicture}
\draw[fill=black!90!gray] (-1.5,-4.3) rectangle (1.5,3.6);
\bulb[shift={(0,2.4)}]{orange!10!red}
\bulb[shift={(0,0)}]{orange!50!yellow}
\bulb[shift={(0,-2.4)}]{green!70!black}
\translight{shift={(-3.6,3.2)}}
\translight{shift={(-3.6,0.7)}}
\translight{shift={(-3.6,-1.9)}}
%\translight{shift={(3.6,3.2)},xscale=-1}
\begin{scope}[shift={(3.6,3.2)},xscale=-1]
\draw[fill=black!80!gray] (1.9,0.3) -- ++(0.2,0) -- ++(0,-2.4) -- ++(-0.2,0) -- cycle;
\shade[top color=gray,bottom color=black,clip] (0,0) -- ++ (1.9,0) -- ++ (0,-1.9) -- ++(-0.8,0) to
[out=90,in=-90] ++(-1.1,1.7) -- cycle;
\fill[gray!20!black,opacity=0.3] (1.9,0) -- ++(-0.2,0) -- ++ (-1.8,-1.8) -- ++ (2,0) -- cycle;
\end{scope}
%\translight{shift={(3.6,0.7)},xscale=-1}
\begin{scope}[shift={(3.6,0.7)},xscale=-1]
\draw[fill=black!80!gray] (1.9,0.3) -- ++(0.2,0) -- ++(0,-2.4) -- ++(-0.2,0) -- cycle;
\shade[top color=gray,bottom color=black,clip] (0,0) -- ++ (1.9,0) -- ++ (0,-1.9) -- ++(-0.8,0) to
[out=90,in=-90] ++(-1.1,1.7) -- cycle;
\fill[gray!20!black,opacity=0.3] (1.9,0) rectangle ++ (-2,-2);
\end{scope}
%\translight{shift={(3.6,-1.9)},xscale=-1}
\begin{scope}[shift={(3.6,-1.9)},xscale=-1]
\draw[fill=black!80!gray] (1.9,0.3) -- ++(0.2,0) -- ++(0,-2.4) -- ++(-0.2,0) -- cycle;
\shade[top color=gray,bottom color=black,clip] (0,0) -- ++ (1.9,0) -- ++ (0,-1.9) -- ++(-0.8,0) to
[out=90,in=-90] ++(-1.1,1.7) -- cycle;
\fill[gray!20!black,opacity=0.3] (1.9,0) rectangle ++ (-2,-2);
\end{scope}
%
\shade[ball color=gray!50!black] (1.1,3.6) -- (-1.1,3.6) to[out=90,in=90] cycle;

\end{tikzpicture}
\end{document}

Note that I am living in a different time zone, so the position of the sun is a bit different from what it is in your picture. If you're not happy with it, please have a look at this post where it is explained how to customize the angle.

UPDATE: For our ducks. Inspired by Ulrike Fischer's duck light. (At the time of writing the below code, I had forgotten about Ulrike's post, but clearly I had seen it before.)

\documentclass{article}
\usepackage{animate}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[active,tightpage]{preview}
\makeatletter
\def\@anim@@newframe{\@ifstar\@anim@newframe\@anim@newframe}
\def\@anim@newframe{\end{preview}\begin{preview}}
\renewenvironment{animateinline}[2][]{%
  \let\newframe\@anim@@newframe%
  \let\multiframe\@anim@multiframe%
  \begin{preview}}{%
  \end{preview}}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\usepackage{tikz}
\usetikzlibrary{shadings}

\newcommand{\translight}[1]{\begin{scope}[#1]
\shade[top color=gray,bottom color=black] (0,0) -- ++ (1.9,0) -- ++ (0,-1.9) -- ++(-0.8,0) to
[out=90,in=-90] ++(-1.1,1.7) -- cycle;
\draw[fill=black!80!gray] (1.9,0.3) -- ++(0.2,0) -- ++(0,-2.4) -- ++(-0.2,0) -- cycle;
\end{scope}
}
\newcommand{\bulbback}[2][]{\begin{scope}[#1]
\draw[thick,fill=black!80!gray] (-1.2,-1.4) coordinate (bl) rectangle ++(2.4,2.2)
coordinate (tr);

\draw[fill=black!97!gray] (bl) -- ++ (-0.12,-0.12) -- ++(2.64,0) -- (bl-|tr) -- cycle;
\draw[fill=black!98!gray] (bl-|tr) -- ++ (0.12,-0.12) -- ++(0,2.44) -- (tr) -- cycle;
\draw[fill=black!50!gray] (tr-|bl) -- ++ (-0.12,0.12) -- ++(2.64,0) -- (tr) -- cycle;
\draw[fill=black!50!gray] (tr-|bl) -- ++ (-0.12,0.12) -- ++(0,-2.44)
-- (bl) -- cycle;

\end{scope}
}
\newcommand{\bulbduck}[2][]{\begin{scope}[#1]
\begin{scope}[xshift=-18,yshift=-21,scale=0.6]% from the tikzducks package
\draw[clip]
  (0.513,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. (0.289,0.261)
  (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. (1.818,1.419)
        -- (1.35,1.20) arc (-30:185:0.50 and 0.625) --(0.406,1.472)
         .. controls (0.269,1.369) and (0.083,0.850) .. (0.600,1.300)
         --(0.513,1.145)
         -- cycle;
\ifcase#2
\shade[ball color=orange!10!red] (1.1,1.2) circle (1.6);
\or
\shade[ball color=orange!50!yellow] (1.1,1.2) circle (1.6);
\or
\shade[ball color=green!70!black] (1.1,1.2) circle (1.6);
\fi
\end{scope}
\end{scope}
}
\def\X{3}
\begin{document}
\begin{animateinline}[autoplay,loop]{2}
\multiframe{4}{i=1+1}{\pgfmathtruncatemacro{\X}{\i-1}
\begin{tikzpicture}
\draw[fill=black!90!gray] (-1.5,-4.3) rectangle (1.5,3.6);
\bulbback[shift={(0,2.4)}]{0}
\bulbback[shift={(0,0)}]{1}
\bulbback[shift={(0,-2.4)}]{2}
\ifcase\X
\bulbduck[shift={(0,2.2)}]{0}
\or
\bulbduck[shift={(0,2.2)}]{0}
\bulbduck[shift={(0,-0.2)}]{1}
\or
\bulbduck[shift={(0,-2.6)}]{2}
\or
\bulbduck[shift={(0,-0.2)}]{1}
\fi
\translight{shift={(-3.6,3.2)}}
\translight{shift={(-3.6,0.7)}}
\translight{shift={(-3.6,-1.9)}}
%\translight{shift={(3.6,3.2)},xscale=-1}
\begin{scope}[shift={(3.6,3.2)},xscale=-1]
\draw[fill=black!80!gray] (1.9,0.3) -- ++(0.2,0) -- ++(0,-2.4) -- ++(-0.2,0) -- cycle;
\shade[top color=gray,bottom color=black,clip] (0,0) -- ++ (1.9,0) -- ++ (0,-1.9) -- ++(-0.8,0) to
[out=90,in=-90] ++(-1.1,1.7) -- cycle;
\fill[gray!20!black,opacity=0.3] (1.9,0) -- ++(-0.2,0) -- ++ (-1.8,-1.8) -- ++ (2,0) -- cycle;
\end{scope}
%\translight{shift={(3.6,0.7)},xscale=-1}
\begin{scope}[shift={(3.6,0.7)},xscale=-1]
\draw[fill=black!80!gray] (1.9,0.3) -- ++(0.2,0) -- ++(0,-2.4) -- ++(-0.2,0) -- cycle;
\shade[top color=gray,bottom color=black,clip] (0,0) -- ++ (1.9,0) -- ++ (0,-1.9) -- ++(-0.8,0) to
[out=90,in=-90] ++(-1.1,1.7) -- cycle;
\fill[gray!20!black,opacity=0.3] (1.9,0) rectangle ++ (-2,-2);
\end{scope}
%\translight{shift={(3.6,-1.9)},xscale=-1}
\begin{scope}[shift={(3.6,-1.9)},xscale=-1]
\draw[fill=black!80!gray] (1.9,0.3) -- ++(0.2,0) -- ++(0,-2.4) -- ++(-0.2,0) -- cycle;
\shade[top color=gray,bottom color=black,clip] (0,0) -- ++ (1.9,0) -- ++ (0,-1.9) -- ++(-0.8,0) to
[out=90,in=-90] ++(-1.1,1.7) -- cycle;
\fill[gray!20!black,opacity=0.3] (1.9,0) rectangle ++ (-2,-2);
\end{scope}
%
\shade[ball color=gray!50!black] (1.1,3.6) -- (-1.1,3.6) to[out=90,in=90] cycle;
%
\end{tikzpicture}
}
\end{animateinline}
\end{document}

enter image description here


TikZ is not good at 3D. In particular, it has no support for lighting - no concept of a light source, of shadows etc. Faking is always possible - painting pixel-by-pixel, if you like - but a pointless waste of time.

If you really need to draw this yourself, use a tool designed for 3D which can handle light sources. Asymptote has been mentioned, but there are probably better options. Asymptote is good if you create it as a 2D image, but will insist on raster output if you switch to 3D.

However, for this image, the effort is really pointless, as high resolution raster and vector is already available from https://openclipart.org/detail/118837/traffic-light-dan-gerhar-01. Downloading the PDF and using \includegraphics is the painless path to excellent quality here. Alternatively, you can try downloading the SVG and converting it. My initial attempt with Inkscape wasn't overly successful, but you may do better by fine-tuning things.

Inkscape output

For reference, here is what my attempt with Inkscape yielded. I guess there are tricks to this, but these are left as an exercise for the reader. Which is to say, I don't know what they are - my conversions are very hit-or-miss, with more misses than hits, unfortunately. (The donkey worked fine; the don-key and the traffic lights rather less so.)

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}

\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}

\begin{document}
\definecolor{c242424}{RGB}{36,36,36}
\definecolor{c4c4c4c}{RGB}{76,76,76}

\begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt]
\begin{scope}[shift={(-29.144,-25.155)}]
  \begin{scope}[shift={(-97.143,-117.14)}]
    \path[cm={{0.91993,0.0,0.0,1.1621,(18.431,13.418)}},color=black]
      (535.3808,160.3975)arc(-0.000:90.000:100.005100 and
      49.497)arc(90.000:180.000:100.005100 and 49.497)arc(180.000:270.000:100.005100
      and 49.497)arc(270.000:360.000:100.005100 and 49.497) -- cycle;
    \path[color=black,rounded corners=0.0000cm] (300.0000,193.1500) rectangle
      (536.0700,828.7100);
        \path[color=black,fill=c242424,rounded corners=0.0000cm] (317.8600,205.2200)
          rectangle (520.0000,407.3600);
        \path[fill=c4c4c4c,even odd rule] (520.2500,204.9800) -- (318.1400,204.9800) --
          (326.3100,213.1500) -- (512.0900,213.1500) -- (520.2500,204.9800) -- cycle;
        \path[fill=black,even odd rule] (520.2500,407.6000) -- (317.6400,407.6000) --
          (325.8100,399.4300) -- (512.0900,399.4300) -- (520.2500,407.6000) -- cycle;
        \path[fill=black,even odd rule] (317.6400,204.4800) -- (317.6400,407.6000) --
          (325.8100,399.4300) -- (325.8100,212.6400) -- (317.6400,204.4800) -- cycle;
        \path[fill=c4c4c4c,even odd rule] (520.2500,204.9800) -- (520.2500,407.6000) --
          (512.0900,399.4300) -- (512.0900,213.1500) -- (520.2500,204.9800) -- cycle;
      \begin{scope}[shift={(0,-0.2529)}]
        \path[cm={{1.4033,0.0,0.0,1.4033,(-154.44,-176.16)}},color=black]
          (462.8571,343.7907)arc(0.000:90.000:54.286)arc(90.000:180.000:54.286)arc(180.000:270.000:54.286)arc(270.000:360.000:54.286)
          -- cycle;
        \path[cm={{1.4033,0.0,0.0,1.4033,(-154.44,-176.16)}},color=black,draw=black,line
          join=round,line cap=round,line width=4.276pt]
          (462.8571,343.7907)arc(0.000:90.000:54.286)arc(90.000:180.000:54.286)arc(180.000:270.000:54.286)arc(270.000:360.000:54.286)
          -- cycle;
      \end{scope}
      \begin{scope}[shift={(0,205.0)}]
        \path[color=black,fill=c242424,rounded corners=0.0000cm] (317.8600,205.2200)
          rectangle (520.0000,407.3600);
        \path[fill=c4c4c4c,even odd rule] (520.2500,204.9800) -- (318.1400,204.9800) --
          (326.3100,213.1500) -- (512.0900,213.1500) -- (520.2500,204.9800) -- cycle;
        \path[fill=black,even odd rule] (520.2500,407.6000) -- (317.6400,407.6000) --
          (325.8100,399.4300) -- (512.0900,399.4300) -- (520.2500,407.6000) -- cycle;
        \path[fill=black,even odd rule] (317.6400,204.4800) -- (317.6400,407.6000) --
          (325.8100,399.4300) -- (325.8100,212.6400) -- (317.6400,204.4800) -- cycle;
        \path[fill=c4c4c4c,even odd rule] (520.2500,204.9800) -- (520.2500,407.6000) --
          (512.0900,399.4300) -- (512.0900,213.1500) -- (520.2500,204.9800) -- cycle;
      \end{scope}
      \begin{scope}[shift={(0,3.247)}]
        \path[cm={{1.4033,0.0,0.0,1.4033,(-154.44,25.336)}},color=black]
          (462.8571,343.7907)arc(0.000:90.000:54.286)arc(90.000:180.000:54.286)arc(180.000:270.000:54.286)arc(270.000:360.000:54.286)
          -- cycle;
        \path[cm={{1.4033,0.0,0.0,1.4033,(-154.44,25.336)}},color=black,draw=black,line
          join=round,line cap=round,line width=4.276pt]
          (462.8571,343.7907)arc(0.000:90.000:54.286)arc(90.000:180.000:54.286)arc(180.000:270.000:54.286)arc(270.000:360.000:54.286)
          -- cycle;
      \end{scope}
      \begin{scope}[shift={(0,410.0)}]
        \path[color=black,fill=c242424,rounded corners=0.0000cm] (317.8600,205.2200)
          rectangle (520.0000,407.3600);
        \path[fill=c4c4c4c,even odd rule] (520.2500,204.9800) -- (318.1400,204.9800) --
          (326.3100,213.1500) -- (512.0900,213.1500) -- (520.2500,204.9800) -- cycle;
        \path[fill=black,even odd rule] (520.2500,407.6000) -- (317.6400,407.6000) --
          (325.8100,399.4300) -- (512.0900,399.4300) -- (520.2500,407.6000) -- cycle;
        \path[fill=black,even odd rule] (317.6400,204.4800) -- (317.6400,407.6000) --
          (325.8100,399.4300) -- (325.8100,212.6400) -- (317.6400,204.4800) -- cycle;
        \path[fill=c4c4c4c,even odd rule] (520.2500,204.9800) -- (520.2500,407.6000) --
          (512.0900,399.4300) -- (512.0900,213.1500) -- (520.2500,204.9800) -- cycle;
      \end{scope}
      \begin{scope}[shift={(0.01812,4.247)}]
        \path[cm={{1.4033,0.0,0.0,1.4033,(-154.44,229.34)}},color=black]
          (462.8571,343.7907)arc(0.000:90.000:54.286)arc(90.000:180.000:54.286)arc(180.000:270.000:54.286)arc(270.000:360.000:54.286)
          -- cycle;
        \path[cm={{1.4033,0.0,0.0,1.4033,(-154.44,229.34)}},color=black,draw=black,line
          join=round,line cap=round,line width=4.276pt]
          (462.8571,343.7907)arc(0.000:90.000:54.286)arc(90.000:180.000:54.286)arc(180.000:270.000:54.286)arc(270.000:360.000:54.286)
          -- cycle;
      \end{scope}
    \begin{scope}[shift={(14.0,0)}]
      \path[color=black,draw=black,line cap=round,line width=6.000pt]
        (547.2900,790.9300) -- (548.7100,640.2200) -- (692.2900,640.2200) .. controls
        (691.7400,674.7900) and (699.9500,686.2100) .. (646.7800,729.9900) .. controls
        (618.7100,753.1100) and (604.3400,759.5500) .. (603.0000,790.9300) --
        (547.2900,790.9300) -- cycle;
      \path[color=black,fill=c242424,rounded corners=0.0000cm] (522.2900,615.0000)
        rectangle (538.0040,817.5400);
      \path[fill=c4c4c4c,even odd rule] (537.9600,614.9800) -- (537.9600,817.6000) --
        (546.1300,809.4300) -- (546.1300,623.1500) -- (537.9600,614.9800) -- cycle;
    \end{scope}
    \begin{scope}[shift={(14.0,-410.0)}]
      \path[color=black,draw=black,line cap=round,line width=6.000pt]
        (547.2900,790.9300) -- (548.7100,640.2200) -- (692.2900,640.2200) .. controls
        (691.7400,674.7900) and (699.9500,686.2100) .. (646.7800,729.9900) .. controls
        (618.7100,753.1100) and (604.3400,759.5500) .. (603.0000,790.9300) --
        (547.2900,790.9300) -- cycle;
      \path[color=black,fill=c242424,rounded corners=0.0000cm] (522.2900,615.0000)
        rectangle (538.0040,817.5400);
      \path[fill=c4c4c4c,even odd rule] (537.9600,614.9800) -- (537.9600,817.6000) --
        (546.1300,809.4300) -- (546.1300,623.1500) -- (537.9600,614.9800) -- cycle;
\end{scope}
\begin{scope}[shift={(14.0,-205.0)}]
  \path[color=black,draw=black,line cap=round,line width=6.000pt]
    (547.2900,790.9300) -- (548.7100,640.2200) -- (692.2900,640.2200) .. controls
    (691.7400,674.7900) and (699.9500,686.2100) .. (646.7800,729.9900) .. controls
    (618.7100,753.1100) and (604.3400,759.5500) .. (603.0000,790.9300) --
    (547.2900,790.9300) -- cycle;
  \path[color=black,fill=c242424,rounded corners=0.0000cm] (522.2900,615.0000)
    rectangle (538.0040,817.5400);
  \path[fill=c4c4c4c,even odd rule] (537.9600,614.9800) -- (537.9600,817.6000) --
    (546.1300,809.4300) -- (546.1300,623.1500) -- (537.9600,614.9800) -- cycle;
\end{scope}
\begin{scope}[cm={{-1.0,0.0,0.0,1.0,(822.49,0.0)}}]
  \path[color=black,draw=black,line cap=round,line width=6.000pt]
    (547.2900,790.9300) -- (548.7100,640.2200) -- (692.2900,640.2200) .. controls
    (691.7400,674.7900) and (699.9500,686.2100) .. (646.7800,729.9900) .. controls
    (618.7100,753.1100) and (604.3400,759.5500) .. (603.0000,790.9300) --
    (547.2900,790.9300) -- cycle;
  \path[color=black,fill=c242424,rounded corners=0.0000cm] (522.2900,615.0000)
    rectangle (538.0040,817.5400);
  \path[fill=black,even odd rule] (537.9600,614.9800) -- (537.9600,817.6000) --
    (546.1300,809.4300) -- (546.1300,623.1500) -- (537.9600,614.9800) -- cycle;
\end{scope}
\begin{scope}[cm={{-1.0,0.0,0.0,1.0,(822.49,-410.0)}}]
  \path[color=black,draw=black,line cap=round,line width=6.000pt]
    (547.2900,790.9300) -- (548.7100,640.2200) -- (692.2900,640.2200) .. controls
    (691.7400,674.7900) and (699.9500,686.2100) .. (646.7800,729.9900) .. controls
    (618.7100,753.1100) and (604.3400,759.5500) .. (603.0000,790.9300) --
    (547.2900,790.9300) -- cycle;
  \path[color=black,fill=c242424,rounded corners=0.0000cm] (522.2900,615.0000)
    rectangle (538.0040,817.5400);
  \path[fill=black,even odd rule] (537.9600,614.9800) -- (537.9600,817.6000) --
    (546.1300,809.4300) -- (546.1300,623.1500) -- (537.9600,614.9800) -- cycle;
\end{scope}
\begin{scope}[cm={{-1.0,0.0,0.0,1.0,(822.49,-205.0)}}]
  \path[color=black,draw=black,line cap=round,line width=6.000pt]
    (547.2900,790.9300) -- (548.7100,640.2200) -- (692.2900,640.2200) .. controls
    (691.7400,674.7900) and (699.9500,686.2100) .. (646.7800,729.9900) .. controls
    (618.7100,753.1100) and (604.3400,759.5500) .. (603.0000,790.9300) --
    (547.2900,790.9300) -- cycle;
  \path[color=black,fill=c242424,rounded corners=0.0000cm] (522.2900,615.0000)
    rectangle (538.0040,817.5400);
  \path[fill=black,even odd rule] (537.9600,614.9800) -- (537.9600,817.6000) --
    (546.1300,809.4300) -- (546.1300,623.1500) -- (537.9600,614.9800) -- cycle;
\end{scope}
\path[cm={{-1.0,0.0,0.0,1.0,(822.49,-410.0)}},color=black,draw=black,fill=black,opacity=0.250,line
  cap=round,line width=6.000pt] (547.2900,790.9300) -- (548.7100,640.2200) ..
  controls (548.7100,640.2200) and (573.5200,662.6400) .. (646.7800,729.9900) ..
  controls (618.7100,753.1100) and (604.3400,759.5500) .. (603.0000,790.9300) --
  (547.2900,790.9300) -- cycle;
\path[cm={{-1.0,0.0,0.0,1.0,(822.49,-205.0)}},color=black,draw=black,fill=black,opacity=0.250,line
  cap=round,line width=6.000pt] (547.2900,790.9300) -- (548.7100,640.2200) --
  (692.2900,640.2200) .. controls (691.7400,674.7900) and (699.9500,686.2100) ..
  (646.7800,729.9900) .. controls (618.7100,753.1100) and (604.3400,759.5500) ..
  (603.0000,790.9300) -- (547.2900,790.9300) -- cycle;
\path[cm={{-1.0,0.0,0.0,1.0,(822.49,0.0)}},color=black,draw=black,fill=black,opacity=0.250,line
  cap=round,line width=6.000pt] (547.2900,790.9300) -- (548.7100,640.2200) --
  (692.2900,640.2200) .. controls (691.7400,674.7900) and (699.9500,686.2100) ..
  (646.7800,729.9900) .. controls (618.7100,753.1100) and (604.3400,759.5500) ..
  (603.0000,790.9300) -- (547.2900,790.9300) -- cycle;
  \end{scope}
\end{scope}

\end{tikzpicture}
\end{document}

I suggest that you should use a suitable tool for each objective, in the case of TIKZ that specializes in nodes, texts, arrows, boxes, etc., not the creation of 2D drawings, although with the skill and the necessary time can be performed , but it will be like doing it with your hands tied, for that reason you should opt for a suitable tool with the same basic characteristics as free sodfware. So I suggest Inkscape, you can draw in a WYSIWYG environment, which as you see works quietly with the pdf files that are handled in both Tikz and Latex can get better results without compromising quality but perhaps sacrificing the file size. (not much I hope)

Testing results improving an image generated in tikz, retouched in inkscape, taking advantage of the compatibility of pdf formats, adding equations by importing a blank document with equations made in latex (Take as long as you want until you are satisfied with the result, in my case 37 minutes) to get this.

enter image description here

Of course all those images are vectors, you can zoom as much as you want without losing quality.

enter image description here

The cost is only the file size:

  1. Tikz_pdf_file: tikz2-5D.pdf -->7Kb.
  2. Inkscape SVG containing the imported pdf and edited --> 343Kb.
  3. Exported pdf_file: 2-5D.pdf -->25Kb. (that is the awesome thing).
  4. Inkscape SVG imported equation latex pdf and some aditional edition --> 373Kb.
  5. Exported pdf_file: 2-5Dred.pdf -->59Kb. (it's pretty good).

To check the transparency I used the package \background, The pdf file output size is: 103Kb.

% arara: pdflatex: {synctex: yes, action: nonstopmode}

\documentclass{scrreprt}
\usepackage{booktabs,caption}
\usepackage{graphicx}
\usepackage[
pages=some,
firstpage=true,
opacity=0.5,
placement=center,
angle=0,
hshift=20,
vshift=10
]{background}
\usepackage{subfigure}
\begin{document}
    \backgroundsetup{contents={\includegraphics[scale=.3]{2-5Dred.pdf}}}

    \begin{figure}[h!]
        \centering
        \subfigure[Obtained exportingTikz to pdf]{\includegraphics[width=.4\textwidth]{tikz2-5D.pdf}} \qquad
        \subfigure[Imported pdf from Tikz in Inkscape and improve effects, and export as pdf]{\includegraphics[width=.4\textwidth]{2-5D.pdf}} \par
        \subfigure[Adding more details and importing random equation generated as a result of the pdf of the empty latex page with normal equation codes, and then including text and a degradation of a dashed line box. Another advantage of using the PDF format is that transparency is available.]{\includegraphics[width=.7\textwidth]{2-5Dred.pdf}}
    \end{figure}

\end{document}

And the code for the equation pdf to import in Inkscape:

% arara: pdflatex: {synctex: yes, action: nonstopmode}

\documentclass{scrreprt}
\usepackage{amsmath,amsfonts,amssymb,latexsym,wasysym}  
\begin{document}
    \pagestyle{empty}
        $\varDelta\phi=\dfrac{4M}{d{s}}+(\dfrac{M}{d{s}})^{2}$
\end{document}

you can download the files here!