Permalink #1 
Shaderhacker's Avatar
Join Date: Aug 2008
Posts: 58
Member
    My Mood: Busy
    Thanks: 0
    Thanked 6 Times in 6 Posts

    Default Renderman vs. Mental Ray


    All:

    I'm about to delve into Renderman at work and I'm quite excited. I have some initial notes about Renderman's architecture that is pretty interesting when comparing it to Mental Ray's API for writing shaders:

    1) Shader Types supported: Displacement, Surface, Light, Volume, Imager.

    Mental Ray supports quite a few more shader types: Geometry, Displacement, Surface, Light, Volume, Utility, Texture, Post-process (Imager).

    2) PRMan technically doesn't support Post-process of images.

    3) PRMan supports only 2 data classes: uniform and varying. This is sufficient given the Reyes architecture.

    4) Triangle renderer doesn't lend itself to SIMD (although a GPU could be made to do this, i.e. RenderAnts). Perhaps this is a big disadvantage since Reyes can make more use of parallel execution in GPUs.

    5) No numeric types except float in PRMan. That means no INTS, BOOLEANS, DOUBLES, etc..

    6) No pointers in RSL.

    7) No multi-dimensional arrays.

    8) Shaders operate on micropolygon grids or each vertex in the micropolygon grid.

    9) Only 2 math matrix operators ( dot, and cross ). This may be sufficient.

    10) No operator over loading (i.e. I can't change *,/,+,- for different data types. Basically, color * vector is not valid).

    11) All variables must be initialized. This might snag me quite a few times when developing.

    12) PRMan has an array of global variables that basically are a representation of the renderer state in Mental Ray. Some are values automatically written to by the renderer and other variables, you can write to (i.e Oi, Ci).

    13) All shader parameters are uniform by default.

    14) diffuse() + ambient() seem to be overloaded.

    More to come as I delve into it.

    -M

    Last edited by Shaderhacker; 10-25-2009 at 05:13 PM.
      Permalink #2 
    sijen's Avatar
    Join Date: Dec 2009
    Posts: 1
    Junior Member
      Thanks: 0
      Thanked 0 Times in 0 Posts

      2) PRMan technically doesn't support Post-process of images.
      what do you mean?
        Permalink #3 
      Shaderhacker's Avatar
      Join Date: Aug 2008
      Posts: 58
      Member
        My Mood: Busy
        Thanks: 0
        Thanked 6 Times in 6 Posts

        Quote:
        Originally Posted by sijen View Post
        2) PRMan technically doesn't support Post-process of images.
        what do you mean?
        After delving more into RMan, it does have some ways to post-process and image. In order to do any kind of real Tone mapping though, I'd have to make a DSO shadeop to build my class and functions to upscale and downscale the image.

        -M
          Permalink #4 
        yamily's Avatar
        Join Date: May 2012
        Posts: 26
        Junior Member
          Thanks: 0
          Thanked 3 Times in 3 Posts

          Quote:
          Originally Posted by Shaderhacker View Post
          After delving more into RMan, it does have some ways to post-process and image. In order to do any kind of real Tone mapping though, I'd have to make a DSO shadeop to build my class and functions to upscale and downscale the image.

          -M
          mark!
          Thanks for sharing.
          __________________
          Renderfarm------just try try try


          Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
           

          Posting Rules
          Smilies are On
          [IMG] code is On
          HTML code is Off