16.12.2012 Views

Portal - RenderMan

Portal - RenderMan

Portal - RenderMan

SHOW MORE
SHOW LESS

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 />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!