Final Project: RenderMan

By Jeff Bertrand

5/4/12

Final Image:

AO Pass:

Problems:

Not having access to RenderMan outside of the lab and having to miss the days that we went over RenderMan.

Textures:

RenderMan shaders:

/***
guitar.sl
by Jeff Bertrand
5/4/12

Surface shader for RenderMan
Tiny noise speckles on guitar finish
***/

surface guitar( color guitCol = color(0.8 0.823, 0.93);
float guitFreq = 20;
float label = 0.5;)
{

color sc
point Pshad = transform(“shader”.P) * guitFreq + label;
float smallNoise = noise(2 * Pshad);

color darFinish = guitCol – 0.025;
color midFinish = guitCol;
color lightFinish = guitCol + 0.025;
sc = spline(smallNoise, darFinish, midFinish, lightFinish);

Oi = Os
Ci = Oi * sc

}

/***
floor.sl
by Jeff Bertrand
5/4/12

Surface shader for RenderMan
Rough noise on the floor
***/

surface floor( color floorCol = color(0.19, 0.114, 0.077);
float floorColorFreq = 4;
float label = 0.5;)

{

color sc
point Pshad = transform(“shader”.P) * floorColorFreq + label;
float smallNoise = noise(2 * Pshad);

color darBrown = floorCol – 0.025;
color midBrown = floorCol;
color lightBrown = floorCol + 0.025;
sc = spline(smallNoise, darBrown, midBrown, lightBrown);

Oi = Os
Ci = Oi * sc

}

 

/***
bedding.sl
by Jeff Bertrand
5/4/12

Displacement shader for RenderMan
Low noise frequency to produce large ripples in bed sheets
***/

displacement bedding( uniform float Km = 0.05;
uniform float noiFreq = 2;)
{

float noi;

noi = noise(transform(“shader”.P * noiFreq));

P += normalize(N) * noi;
N = calculateNormal(P);

}

 

Advertisements