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.

Shader objects<br />

class geometryTeleport(<br />

string portalSpace1 = ""; string portalSpace2 = ""; float portalThickness = 0.01<br />

)<br />

{<br />

varying float inTransitionRegion;<br />

public void begin() { inTransitionRegion = 0; }<br />

public void displacement( output varying point P; output varying normal N )<br />

{<br />

...<br />

if( ... && abs( p<strong>Portal</strong>1[ 2 ] ) < portalThickness )<br />

{<br />

inTransitionRegion = 1;<br />

}<br />

}<br />

public void surface( output varying color Ci, Oi )<br />

{<br />

Ci = Oi = color ( 1 - inTransitionRegion );<br />

}<br />

}

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

Saved successfully!

Ooh no, something went wrong!