imager bgcolor ...

ggaliens
2007-11-16
2013-04-25
  • ggaliens
    ggaliens
    2007-11-16

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

     
    • ggaliens
      ggaliens
      2007-11-16

      Oh ... and until we have imager support ... what would be a good work around ????  I don't like the checkerd display.

       
    • Okan Arikan
      Okan Arikan
      2007-11-16

         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

       
      • George Harker
        George Harker
        2007-11-16

        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

         
    • ggaliens
      ggaliens
      2007-11-16

      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]

       
    • ggaliens
      ggaliens
      2007-11-16

      Sorry ... I posted that in wrong spot.