Portal - RenderMan
Portal - RenderMan
Portal - RenderMan
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Teleporting geometry<br />
displacement geometryTeleport(<br />
string sending<strong>Portal</strong>Space = ""; string receiving<strong>Portal</strong>Space = ""<br />
)<br />
{<br />
point p<strong>Portal</strong>1, p<strong>Portal</strong>2, pCurNew;<br />
normal n<strong>Portal</strong>1, n<strong>Portal</strong>2, nCurNew;<br />
transformThrough<strong>Portal</strong>( P, sending<strong>Portal</strong>Space, receiving<strong>Portal</strong>Space,<br />
p<strong>Portal</strong>1, p<strong>Portal</strong>2, pCurNew );<br />
ntransformThrough<strong>Portal</strong>( N, sending<strong>Portal</strong>Space, receiving<strong>Portal</strong>Space,<br />
n<strong>Portal</strong>1, n<strong>Portal</strong>2, nCurNew );<br />
if( abs( p<strong>Portal</strong>1[ 0 ] ) < 0.5 && abs( p<strong>Portal</strong>1[ 1 ] ) < 0.5 && p<strong>Portal</strong>1[ 2 ] < 0 )<br />
{<br />
P = pCurNew;<br />
N = nCurNew;<br />
}<br />
}