Whats New - Version 6.7.8

Jan 31 2015


return to main index



Mel Typing Completion

A bug in typing completion of mel has been removed. Right-mouse clicking on a partially completed mel command raises a popu menu.



RixPattern Code Generation

Several improvements have been made to the way that Cutter generates a .cpp file from a RixPattern .args document. To distinguish the difference between the local (pointer) variables that are automatically declared by Cutter in the ComputeOutputParams() method a "Ptr" suffix is appended to the names of pointers that reference a uniform value.

For example, a snippet of an .args file is shown below.

    <param name="mask_invert" label="Invert Mask"     input="False" widget="checkBox"/> 
    <param name="mask_gain"   label="Mask Brightness" input="True"  widget="default"/>

A .cpp file generated from the .args document would declare the pointers within the ComputeOutputParams() method as follows.

    bool varying = true;
    bool uniform = false;
    RtInt     const *mask_invertPtr;
    RtFloat   const *mask_gain;
  
    ctx->EvalParam(k_mask_invert, -1, &mask_invertPtr, &m_mask_invert, uniform);
    ctx->EvalParam(k_mask_gain,   -1, &mask_gain, &m_mask_gain, varying);

Hopefully, the "Ptr" suffix will remind users to de-reference the pointer, for example,

    // De-reference the pointer to obtain a single uniform value
    RtInt   maskInvert = *mask_invertPtr;
    or
    int     maskInvert = *mask_invertPtr;

While the other pointer, without the suffix, should be treated as an array.

    for(int i = 0; i < ctx->numPts; i++) {
        // Use the value for this specific shading "point"
        maskF[i] = mask_gain[i];
        } 

Users can specify their preferred prefixes and/or suffixes via the Preferences window.




Reformat Parameters

The RIS specific Pattern and Bxdf rib statements can now be reformatted in a .rlf file. For example,



would be reformatted as,

Pattern
    "PxrFractal" "PxrFractal1"
    "int layers" [6]
    "float frequency" [3]
    "float lacunarity" [2]
    "float dimension" [1]
    "float erosion" [0]
    "float variation" [0]
    "__instanceid" ["PxrFractal1_0"]

OSL - Generate Rib

If a compiled OSL shader source code file is open on Cutter's desktop a simple rib file can be generated using the Rman Tool docs menu.





© 2002- Malcolm Kesson. All rights reserved.