Here are some examples.
- R=G=B=x (your MWE)
- R=G=B=x
- R=G=B=x²
- R=G=B=√x
- R=G=B=log(1+x)
- R=G=B=log(1+9x)
- R=G=B= ... well ...

\documentclass{article}
\usepackage[a3paper]{geometry}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill(-11,0)|-(0,-2)|-(11,2)|-cycle;
\shadeleft color=black,right color=whiterectangle(10,1);
\end{tikzpicture}
\pgfdeclarefunctionalshading{LBRW}{\pgfpoint{0bp}{0bp}}{\pgfpoint{100bp}{100bp}}{}{
pop 50 div .5 sub % u
dup dup % u u u
}
\begin{tikzpicture}
\fill(-11,0)|-(0,-2)|-(11,2)|-cycle;
\shadeshading=LBRWrectangle(10,1);
\end{tikzpicture}
\pgfdeclarefunctionalshading{dup mul LBRW}{\pgfpoint{0bp}{0bp}}{\pgfpoint{100bp}{100bp}}{}{
pop 50 div .5 sub % u
dup mul % u²
dup dup % u² u² u²
}
\begin{tikzpicture}
\fill(-11,0)|-(0,-2)|-(11,2)|-cycle;
\shadeshading=dup mul LBRWrectangle(10,1);
\end{tikzpicture}
\pgfdeclarefunctionalshading{sqrt LBRW}{\pgfpoint{0bp}{0bp}}{\pgfpoint{100bp}{100bp}}{}{
pop 50 div .5 sub % u
sqrt % √u
dup dup % √u √u √u
}
\begin{tikzpicture}
\fill(-11,0)|-(0,-2)|-(11,2)|-cycle;
\shadeshading=sqrt LBRWrectangle(10,1);
\end{tikzpicture}
\pgfdeclarefunctionalshading{1 add log LBRW}{\pgfpoint{0bp}{0bp}}{\pgfpoint{100bp}{100bp}}{}{
pop 50 div .5 sub % u
1 add log % ㏒(1+u)
dup dup % ㏒(1+u) ㏒(1+u) ㏒(1+u)
}
\begin{tikzpicture}
\fill(-11,0)|-(0,-2)|-(11,2)|-cycle;
\shadeshading=1 add log LBRWrectangle(10,1);
\end{tikzpicture}
\pgfdeclarefunctionalshading{9 mul 1 add log LBRW}{\pgfpoint{0bp}{0bp}}{\pgfpoint{100bp}{100bp}}{}{
pop 50 div .5 sub % u
9 mul 1 add log % ㏒(1+9u)
dup dup % ㏒(1+9u) ㏒(1+9u) ㏒(1+9u)
}
\begin{tikzpicture}
\fill(-11,0)|-(0,-2)|-(11,2)|-cycle;
\shadeshading=9 mul 1 add log LBRWrectangle(10,1);
\end{tikzpicture}
\pgfdeclarefunctionalshading{logistic}{\pgfpoint{0bp}{0bp}}{\pgfpoint{100bp}{100bp}}{}{
50 div .5 sub exch % v U
50 div .5 sub 4 mul exch % 4u v
dup 1 exch sub % 4u v 1-v
2 index % 4u v (1-v) 4u
mul mul % u 4uv(1-v)
dup 1 exch sub 2 index mul mul
dup 1 exch sub 2 index mul mul
dup 1 exch sub 2 index mul mul
dup 1 exch sub 2 index mul mul
dup 1 exch sub 2 index mul mul
exch pop dup dup
}
\begin{tikzpicture}
\fill(-11,0)|-(0,-2)|-(11,2)|-cycle;
\shadeshading=logisticrectangle(10,1);
\end{tikzpicture}
\end{document}
Remarks
dup duplicates the topmost element.
- The
dup dup at every very end is actually unnecessary.
- If you leave only a single number in the stack, PDF-renderer will treat it as the grayscale.
- If there are three, they are R, G, B respectively.
- If there are 0 or 2 or 4, 5, 6, ... I do not know.
pop discards the topmost element.
- The
pop at every very beginning throws away the y-coordinate, which is useless except the last case.
- Replacing
pop by swap, you can leave the y-coordinate at the bottom alone. But then dup dup becomes necessary.
- For more information, see TikZ manual IX.110.2.3 General (Functional) Shadings.
- For ever more information, see PDF manual 8.7.4.5.2 Type 1 (Function-Based) Shadings.
- See also Annex B (normative) Operators in Type 4 Functions.
\pgfdeclarefunctionalshading. Check the manual or http://tex.stackexchange.com/questions/54193/how-to-draw-a-shaded-sphere for examples. – percusse Apr 10 '15 at 09:54