\documentclass[tikz]{standalone}
\usepackage{tikz}

% create an arrow
\newcommand{\arrowIn}{
  \tikz \draw[-stealth] (-1pt,0) -- (1pt,0);
}

\usetikzlibrary{calc, angles, quotes, backgrounds}
\begin{tikzpicture}[
  scale=1,
  background rectangle/.style={fill=gray!25},
  show background rectangle
  ]
  \node [above] at (-2, 4) {\(n_2 > n_1\)};
  % thin film M1-M2, with thickness m.
  \node [above right] at (-2, 0) {\(n_1\)}; \node [below right] at (-2, -2) {\(n_1\)};
  \fill [color=cyan!20] (-2, 0) rectangle (4, -2); \node [right] at (-2, -1) {\(n_2\)};
  \draw [thick] (-2, 0) -- (4, 0); \node [left] at (-2, 0) {$M_1$};
  \draw [thick] (-2,-2) -- (4,-2); \node [left] at (-2,-2) {$M_2$};
  \draw[magenta, thick, <->] (4, 0) -- (4, -2); \node [magenta, left] at (4, -1) {\(d\)};
  % the len.
  \coordinate (L) at (2.5, 3.5); \coordinate (L2) at ($(L)+(1,-1)$);
  \coordinate (LM) at ($0.5*(L)+0.5*(L2)$);
  \draw [rotate around={-45:(LM)},fill=teal!20] (LM) ellipse[x radius=0.9, y radius=0.1];
  \node [above left] at (L) {$L$};
  % the acceptor.
  \coordinate (P) at (4, 4); \node [purple, above right] at (P) {$P$};
  \draw [ultra thick] ($(P)+(.5,-.5)$) -- ($(P)-(.5,-.5)$);
  % incidence points of lights.
  \coordinate (A) at (-1, 0); \coordinate (B) at (0, -2);
  \coordinate (C) at ( 1, 0); \coordinate (E) at (2, -2);
  \node [below left] at (A) {$A$}; \node [below  left] at (B) {\(B\)};
  \node [below left] at (C) {$C$}; \node [below right] at (E) {$E$};
  % light1 and normal line.
  \coordinate (A0) at (-2, 1); \node[above right, red] at (A0) {$1$};
  \draw [thick, red] (A0) -- (A) node [sloped, pos=0.5, allow upside down]{\arrowIn};
  \draw [dashed] ($(A)+(0, 1)$) -- ($(A)-(0, 1)$);
  % light 2.
  \draw [thick, red] (A) -- (L)
    node [sloped, pos=0.5, allow upside down]{\arrowIn}
    node [pos=0.5, above left] {$2$}
    -- (P);
  % light 3.
  \draw [thick, blue] (C) -- (L2)
    node [sloped, pos=0.5, allow upside down]{\arrowIn}
    node [pos=0.5, above left] {$3$}
    -- (P);
  % light 4 and normal line.
  \draw [thick, blue] (A) -- (B) node [sloped, pos=0.5, allow upside down]{\arrowIn};
  \draw [thick, blue] (B) -- (C) node [sloped, pos=0.5, allow upside down]{\arrowIn};
  \draw [dashed] ($(B)+(0, 1)$) -- ($(B)-(0, .4)$);
  % light 5.
  \draw [thick, blue] (C) -- (E) node [sloped, pos=0.5, allow upside down]{\arrowIn};
  \draw [thick, blue, ->] (E) -- +($0.6*(C)-0.6*(B)$);
  % optical path difference
  \coordinate (D) at ($(A)!(C)!(L)$); \node [purple, above left] at (D) {$D$};
  \draw [thick, dashed, purple] (C) -- (D);
  % angles.
  \draw [opacity=0] (A0) coordinate (Q1) -- (A) coordinate (Q2) -- ($(A)+(0,1)$) coordinate (Q3)
    pic ["$i$", opacity=1, draw, thick, orange, angle radius=25] {angle=Q3--Q2--Q1};
  \draw [opacity=0] ($(A)-(0,1)$) coordinate (Q1) -- (A) coordinate (Q2) -- (B) coordinate (Q3)
    pic ["$\gamma$", below, opacity=1, draw, thick, orange, angle radius=25] {angle=Q1--Q2--Q3};
  \draw [opacity=0] (A) coordinate (Q1) -- (B) coordinate (Q2) -- ($(B)+(0,1)$) coordinate (Q3)
    pic ["$\gamma$", opacity=1, draw, thick, orange, angle radius=25] {angle=Q3--Q2--Q1};
\end{tikzpicture}
