Imager shaders are not as useful as they appear to be. Typical users of RenderMan often take the generated images and composite them in an external program (photoshop/premiere/shake etc.) In fact it is not uncommon to render dozens of outputs for every frame and composite them as a post processing to form a movie/image.
It is why their implementation in Pixie has been a low priority. Pixie has all the functionality to generate arbitrary shader outputs along with alpha channel to allow such compositing.
However if there is a wide spread demand from the community, we can upgrade the imager shader implementation priority.
Okan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
imager bgcolor ...
What kind of donation would it take to get PIXIE to support imager bgcolor that would at least draw a flat const colored background ????
Oh ... and until we have imager support ... what would be a good work around ???? I don't like the checkerd display.
Hi,
Imager shaders are not as useful as they appear to be. Typical users of RenderMan often take the generated images and composite them in an external program (photoshop/premiere/shake etc.) In fact it is not uncommon to render dozens of outputs for every frame and composite them as a post processing to form a movie/image.
It is why their implementation in Pixie has been a low priority. Pixie has all the functionality to generate arbitrary shader outputs along with alpha channel to allow such compositing.
However if there is a wide spread demand from the community, we can upgrade the imager shader implementation priority.
Okan
Hi There,
We actually already support fill colors for AOVs. This is really easy to extend to the primary channels, which I can do for the next release.
For AOVs,
DisplayChannel "color COutAmbi" "color fill" [1 0 0]
makes the background red. It's just that you can't currently do this on the Display call which is needed to bgfill rgb.
Cheers
George
This is the shader source ... and I try the other declaration like you did it ... but still seems to take global value.
[code]displacement
ml_IDbubbly(
float mult = 1,
Nzscale = 1,
Km = .2,
bubsize = 0.1;
varying float WtDisplacement = 1.0;
)
{
normal Nn = normalize(N);
float a,b,c,bub;
float dist, shortest=10000;
point Po = transform("object",P)*mult;
/*true cell center, surrounding cell centers, noised cell center*/
point trucell, surrcell, nzcell;
vector offset;
setxcomp(trucell,floor(xcomp(Po))+.5);
setycomp(trucell,floor(ycomp(Po))+.5);
setzcomp(trucell,floor(zcomp(Po))+.5);
/*what is the shortest distance to a noised cell center?*/
for(a = -1; a<= 1; a+=1){
for(b = -1; b<=1; b += 1){
for(c = -1; c<=1; c += 1){
offset = vector(a,b,c);
surrcell = trucell+offset;
nzcell = surrcell + ((vector cellnoise(surrcell)-.5)*Nzscale);
dist = distance(Po,nzcell);
if(dist<shortest) shortest = dist;
}
}
}
bub = clamp(shortest,0,bubsize)/bubsize;
P+= Nn*(pow(bub,2)-1)*Km*WtDisplacement ;
N = calculatenormal(P);
}
[/code]
Sorry ... I posted that in wrong spot.