I can get the corresponding lighting effect as Ivan Andrus' codes, but here I want to rotate or slant the box with lighting effect of the following type:

So I added the codes "xslant" and "yslant", but I obtained a failed type as the following:

Here is my MWE:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{shadings}
\begin{document}
\def\yslant{0.5}
\def\xslant{-0.6}
\def\shadowradius{3pt}
%
\newcommand\drawshadowbis[1]{
\begin{pgfonlayer}{shadow}
%
\fill[inner color=blue,outer color=blue!10!black] ($(#1.south east)$) circle(\shadowradius);
\fill[inner color=blue,outer color=blue!10!white] ($(#1.north west)$) circle (\shadowradius);
%
\begin{scope}
\clip ($(#1.south west)$) circle (\shadowradius);
\shade[upper left=blue!10!white,upper right=blue,lower left=blue!10,lower right=blue!10!black]
($(#1.south west)$) rectangle ++(-\shadowradius,-\shadowradius);
\end{scope}
\begin{scope}
\clip ($(#1.north east)$) circle (\shadowradius);
\shade[upper left=blue!10!white,upper right=blue!10,
lower left=blue, lower right=blue!10!black]
($(#1.north east)$) rectangle ++(\shadowradius,\shadowradius);
\end{scope}
\fill[ top color=blue, bottom color=blue!10!black] ($(#1.south west)+(0,-\shadowradius)$) rectangle ($(#1.south east)$);
\fill[left color=blue,right color=blue!10!black] ($(#1.south east)$) rectangle ($(#1.north east)+(\shadowradius,0)$);
\fill[bottom color=blue,top color=blue!10!white] ($(#1.north west)$) rectangle ($(#1.north east)+(0,\shadowradius)$);
\fill[right color=blue,left color=blue!10!white] ($(#1.south west)$) rectangle ($(#1.north west)+(-\shadowradius,0)$);
\end{pgfonlayer}
}
%
\pgfdeclarelayer{shadow}
\pgfsetlayers{shadow,main}
\begin{tikzpicture}[yslant=\yslant,xslant=\xslant,
every node/.append style={yslant=\yslant,xslant=\xslant}]
\node [fill=blue,rectangle,rounded corners=0pt,draw=blue, ultra thick, text=white] (box) {Test!!!};
\drawshadowbis{box}
\end{tikzpicture}
\end{document}
Any help will be really appreciated!

\pgflowlevel{\pgftransformrotate{45}}both intikzpictureenvironment and after the\begin{pgfonlayer}{shadow}in the macro definition and it should work. If you want to keep the rotation local, put the contents in a scope in thetikzpicturecopy. No need for the other copy. – percusse Jun 12 '12 at 01:35transform canvas={rotate=30}kind of solution... but I am not sure it will work with theshadowlayer. – Gonzalo Medina Jun 12 '12 at 02:11low levelproposition. – percusse Jun 12 '12 at 02:21