RenderMan Frequently Asked Questions

You're bound to come across problems while using the software. We've tried to document every possible problem users have encountered, and to list the solutions here.

For the most up-to-date version of the FAQ's, please refer to the Cinema Graphics website. Often we will update the website with common questions about a new release after it has gone out.

If your problem isn't in list below, contact us via email [email protected].


  • 1.0.0 - Rendering
  • 2.0.0 - Shaders
  • 3.0.0 Trailer


    1.0.0 - Rendering
    UP DOWN
        Questions about running renders with RenderMan in ShadeTree.
    
    
    1.0.1 During rendering, I get the error 'shader: unknown command'
    UP DOWN
    
        This is a problem with your prman environment.
    
        Make sure your $RMANTREE and $PATH variables are pointing at
        the correct version of renderman.
    
        Also, make sure you are running the correct version of shadetree
        for renderman. ie:
    
            Version      Stree Command Line
    	-------      ------------------
    	PRMAN 3.5    st -prman3.5
    	PRMAN 3.6    st -prman3.6
    	PRMAN 3.5    st -prman3.7
    
        If you don't want to specify the command line flags all the time,
        try setting your STREE_LIB variable; then you can just type 'st'
        to get the correct version.
    
    
    
    
    1.0.2 During a render, my machine slows to a stop!
    UP DOWN
    
        You are probably running low on ram. Run 'gr_osview -a' to see what's
        going on with ram, or if your machine is swapping.
    
        Try changing your render paramemters. 
    
    	> Lower your output resolution in the Render Options Editor
    
    	> Use Zoom to zoom away from the object (decreases tesselation size)
    
    	> Decrease your sampling rate
    
        Even rendering a single sphere primitive can throw a machine into swap 
        if your shader is complicated enough, or your render parameters are
        set wastefully.
    
    
    
    
    1.0.3 How do I render a frame range?
    UP DOWN
    
        See the animation example stree files that end in *_anim.stree.
    
        To render a frame you need at least two things:
    
    	> Set the Start/End/Increment in the Render Options Editor
    
    	> You should have an argument called 'frame' in the Argument Editor
    
        As a convenience, the Globals->FrameRange box can be used to 
        easily access the frame range values. 
    
        See the animation examples, ie. all example stree files that 
        end in _anim.
    
        In the Render Options Editor, there are options at the very bottom
        to let you set a frame range, below the prompt for the custom render
        script.
    
        These frame ranges are passed to all render scripts as environment
        variables:
    
    	STREE_SFRM	- start frame
    	STREE_EFRM	- end frame
    	STREE_IFRM	- frame increment
    
        An example of a custom render script that uses these variables
        is shown in:
    
    	/usr/local/shadetree/prman/bin/custom-render-animate
    
        See the CUSTOM RENDER SCRIPTS section in 'man shadetree-custom'
        for more information.
    
    
    
    
    2.0.0 - Shaders
    UP DOWN
        Questions regarding writing shaders in RenderMan with ShadeTree.
    
    
    2.0.1 What's the difference between prman 3.5, 3.6, 3.7?
    UP DOWN
    
        Prman 3.5 
    	This is the first version supported by ShadeTree. 
    	We support the entire language, EXCEPT:
    
    	    > uniform and varying
    
        Prman 3.6
    	These new features in 3.6:
    
    	    > spheres are now primitives, not bicubic approximations
    
    	These new features in 3.6 are NOT supported by ShadeTree prman-3.6
    
    	    > shadow() bias parameter
    	    > vertex class introduced
    	    > vector, normal and hpoint
    
        Prman 3.7
    	These new 3.7 features ARE SUPPORTED in ShadeTree:
    
    	    > Arrays
    	    > New data types (string, vector, normal, matrix)
    	    > nshader compiler
    	    > New variables __nondiffuse and __nonspecular
    	    > Local variable declarations
    	    > Time derivatives (dtime, dPdtime)
    	    > Message passing
    	    > These new functions:
    
    		vtransform()   ntransform()   determinant()
    		ptlined()      filterstep()   specularbrdf()
    		min()          max()          clamp()
    		concat()       format()       match()
    
    	These can be controlled via the custom render script:
    
    	    > Curve primitives
    	    > Level of detail (RiDetail)
    	    > Procedural primitives
    
    	These new 3.7 features are NOT SUPPORTED in ShadeTree currently:
    
    	    > Local functions (functions declared in functions)
    	    > output and extern declarations
    
    
    
    
    2.0.2 I'm displacing an object, and it renders with strange cracks and holes..?
    UP DOWN
    
        In RenderMan, this is almost always due to Displacement Bounds being
        'off' or set too low. It usually shows as strange 'clipping' artifacts:
        sharp edged holes in the object.
        
        It is best to keep Displacement Bounds 'off' unless you find you need 
        it, as the function can drastically impact render time.  To enable the
        function, open the Render Options Editor, and set the 'Displace Bounds'
        to a value appropriate for your displacement.  
        
        For details, see the 'Displace Bounds' help button in the
        'Render->Render Options Editor' from the main menu.
    
    
    
    
    3.0.0 Trailer
    UP DOWN
    AUTHOR
        Greg Ercolano
        mailto:[email protected]
    
    COPYRIGHT
        (C) Copyright 1996 Cinema Graphics, Inc. All Rights Reserved.
    
    SUPPORT
        If you encounter errors in this document, email [email protected].
        Please supply the name of the file or manpage, enclose clippings of
        the erroneous text, and describe the error.