RiCurve NURBS weights?

Help
2007-08-11
2013-04-25
  • WHiTeRaBBiT
    WHiTeRaBBiT
    2007-08-11

    Greetings,

    I'm currently writing a renderman exporter for Blender and was curious if theres NURBS weighting for RiCurves.
    I noticed that the RiSpec shows a "Pw" (x,y,z,w) parameter list and am assuming the w is used for weight control.
    The spec only briefly mentions "Pw" and doesn't attempt to explain it. I've already implemented Bezier curves with no
    problems and was hoping someone had more information on this.

    Thanks in advance!

     
    • Moritz Moeller
      Moritz Moeller
      2007-08-11

      There's the non Ri spec extension of RiNuRurves()/NuCurves (RIB binding) in RenderDotC, 3Delight & AIR. I don't know is Pixie & Aqsis implement these. PRMan doesn't implement them for sure. See http://www.dotcsw.com/doc/ribext.html#nucurves
      So if Pixie doesn't already implement this, you either have ask for it nicely or write some code that approximates your NURBs with e.g. Beziers. That can be a little bit tricky, particularly if your weights/knot vector changes over the shutter and you want to support motion blur (which require non-changing topology in motion blocks in all RMan renderers  -- although it is not an Ri spec requirement but more of an implementation artifact).

      NURBS can also have a non-uniform knot vector, supporting weights alone just gives you a rational uniform b-spline. (an URBS).

      On a different note: you are the third person I currently hear of to write a Blender RIB exporter. Why the hell are you guys not joining forces and write just one; in a third of the time? ;)

      Cheers,

      Moritz

       
      • > Why the hell are you guys not joining forces and write just one.
        May be because of every one have own vision of exporting?
        I'm writing my own. http://akhil.nightmail.ru/rendershvili/rendershvili.20070719.png

         
      • WHiTeRaBBiT
        WHiTeRaBBiT
        2007-08-11

        Thanks, that was just what I was looking for.
        As far as being the third person to do this I agree with the previous post. I've tried using the other exporters (as well as K3D, Ayam), but none of them do specifically what I"m looking for. I have used there code base as a reference to get an idea of what the other developers are doing (using what I like and discarding the concepts I don't like). Hopefully in the end we will end up like most open source projects, we will have multiple exporters geared to many different ways of doing things. The exporter I'm working on is called "Mosaic" and is based on the concept that Blender text or external text files can be inserted absolutely Anywhere in the RIB stream, this makes it extremely flexible for experienced Renderman users but will be difficult to understand for newbies. It seems some projects are geared toward doing everything for you automatically, other projects provide complex interfaces but can only offer a feature that is in the interface, hopefully mine will let the user add anything they want but they cant be afraid of typing Renderman code from time to time ;) Different strokes for different folks as the saying goes!