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

float isLightTeleported( point pCur; vector lCur; string sending<strong>Portal</strong>Space )<br />

{<br />

point p<strong>Portal</strong> = transform( "current", sending<strong>Portal</strong>Space, pCur );<br />

if( p<strong>Portal</strong>[ 2 ] < 0 )<br />

{<br />

vector l<strong>Portal</strong> = vtransform( "current", sending<strong>Portal</strong>Space, lCur );<br />

point pAt<strong>Portal</strong> = p<strong>Portal</strong> - l<strong>Portal</strong> * ( p<strong>Portal</strong>[ 2 ] / l<strong>Portal</strong>[ 2 ] );<br />

if( abs( pAt<strong>Portal</strong>[ 0 ] ) < 0.5 && abs( pAt<strong>Portal</strong>[ 1 ] ) < 0.5 )<br />

{<br />

return 1;<br />

}<br />

}<br />

return 0;<br />

}

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

Saved successfully!

Ooh no, something went wrong!