Prehistoric

0.9

0.9.6

Additions

  • added -verbose flag to procedural DSO to control output level, 0 = none, 1 = some and 2 = all
  • added Verbosity attribute to pgYetiMaya node ( in the Other palette ) to control output verbosity at render time
  • added attraction bias to Clumping which controls how far along the hair the clumping transition happens ( 1.0 pushes it to the tip, -1.0 to the base )
  • added file dialogs to I/O palette in Yeti Node for Groom File Name and Cache File Name
  • added graph evaluation time to Full Verbosity output

Bugs Fixed

  • fixed bug which caused comb node to crash when combing points when no comb attrbiute specified

0.9.5

Additions

  • added Relax Steps to scatter to lay out scattered points more evenly
  • added Plugin Version read only attribute to pgYetiMaya node in the Other palette ( helper only )
  • exposed pgYetiMaya attributes in the channel box
  • added ability to instance to individual strands converted to fibres
  • comb can now create attributes on fibres
  • added pgYetiSwapGeometry command to provide an easy way of swapping all the connections from one geometry to another
  • added offset parameter to instance node
  • added ignore namespaces parameter to pgYetiMaya node to truncate namespaces on input objects/grooms/guide sets to the yeti node

Bugs Fixed

  • fixed issue that caused Yeti not to render when reading a groom file
  • guide feedback now correctly draw in viewport when “display guides” is on
  • instanced geometry now has texture coordinates correctly defined as facevarying in renderman output
  • u and v attributes are mapped to s and t in rib

0.9.4

Additions

  • added cycle option to instance node to cycle input objects
  • now linking against 3delight 10.0.4 & PRMan 16.2

Bugs Fixed

  • fixed a bug in the custom object selector that was deleting references prematurely
  • fixed an issue in the group node which caused it to crash when specifying a non-vector attribute
  • fixed bug where stroke was being drawn even when mouse button wasn’t being pressed
  • fixed sculpt mode, it should work as expected now

0.9.3

Additions

Bugs Fixed

  • fixed rest position bug introduced in 0.9.2
  • another tweak to the dynamics stability

0.9.2

Additions

  • updated the attribute node which will create new attributes if they don’t exist and now take a second input, a groom, which can be used to set the default values for the new attribute by sampling attributes on the groom
  • added invert selection to groom tools
  • added Maya field support for groom simulation
  • improved strands rotational constraint solver accuracy

Bugs Fixed

  • fixed an issue which caused some refereces to crash maya on input
  • fixed issue where selected points would change if deleting strands while selected
  • refactored groom drawing to solve stability issues
  • fixed issue with strands popping to the other side of a model when painting on a very thin model ( ears etc. )

0.9.1

Additions

  • new attributes default to a value of 1.0
  • dynamics take into account scale of strand segment for more accurate gravitational effect
  • added isolate selected strands option in groom, when on ( by default ) only the selected strands will be drawn and affected
  • add the ability to create new attributes in Comb, so if you want to instance feathers you can have a comb attribute T and in the instance node us $N as your upvector and $T as the alignment - works well for controlling the direction of branches more effectively too.

Bugs Fixed

  • fixed issue with Maya 2012 which caused the nodes in a graph to bunch up when re-opening
  • fixed crash bug when undoing after creating new strands
  • fixed caching of dynamic sims
  • refactored groom and groom manipulator to hopefully fix outliner issues
  • fixed RMS linking issues
  • fixed bug which caused Yeti to crash when deleting strands after importing them into the scene

0.9.0

Additions

  • ability to paint dynamic stiffness via “sim_stiffness” strand attribute, renamed mass control attribute to “sim_mass”
  • added RenderMan Studio support for Maya 2012
  • added the ability to output subdivision surfaces from yeti graphs
  • added strand selection feedback
  • added custom object outliner to replace maya’s, this should hopefully resolve Maya outliner issues
  • RMS support for Maya 2012
  • removed redundant Keep On Surface parameter
  • reorganized paintable attribute palette to include display options

Bugs Fixed

  • single point not drawn at 0,0,0 when strands are hidden on groom
  • resolved instabilities with sim_stiffness attribute
  • resolved a bug which caused setLength to stop working when strands had a tiny strand segment
  • fixed a bug that caused 0 values when trying to smooth outside of selected vertices

0.8

0.8.17

Additions

  • added the option of instancing on a per element or per point basis so objects can be instanced to individual fibres or converted grooms
  • added -saveGroom [filename] to pgYetiCommand to save out pgYetiMaya .grm files from mel scripts
  • dynamics uses mass attribute painted in groom to control the over all mass of strands
  • refactored/optimized dynamics
  • graphs are encoded in the cache file
  • added diffuse_mix option to the shader to mix in the surface diffuse value into shading result for more predictible ( though slightly wrong ) lighting
  • optimized the draw of painted attributes
  • set up build process to support Maya 2012
  • removed tablet pressure
  • changed default segment length in Grow node to 0.5
  • added collision objects to groom dynamics w/ new interface to specifying collision objects in the scene

Bugs Fixed

  • global scalar variables don’t crash the graph when referenced by vector fields
  • dynamics now correctly compute dt
  • volume grouping correctly groups points scattered on recursive geometry
  • removed redudant attributes on nodes
  • fixed texture export issue that caused large black areas on output
  • fixed misaligned specular in shader and specular_deviation now obeyed ( defaults to 0.0 )
  • hopefully issues with outliner window resolved, please report back if this still persists

0.8.16

Additions

  • multiple objects can be instanced to a single point

Bugs Fixed

  • import texture on groom now correctly saves an undo state
  • rolled back some changes that may be affecting temporal output for motion blur
  • fixed a bug in scatter which was causing the texture reference object to be ignored
  • fixed issues where hairs weren’t being groomed correctly if they were longer than an input groom

0.8.15

Additions

  • added object selection to instance, for example id is defined and cycle($id,0,4) in the object parameter will cycle through 5 possible input objects ( if they exist)
  • alignment and scale variation for instancing
  • added particle/point support for comb, which lets the user comb N
  • added comb attribute to control what attribute is actually combed when applied to points
  • added the ability to scatter across multiple objects

Bugs Fixed

  • cleaned up global variables correctly, resolves issue with cache files slowly growing during the course of a shot
  • improved prman/rms sampling for motion blur
  • fixed bug which caused radius to be ignored on nurbs guide curves
  • cache files can now handle unlimited sized graphs ( ie. fixed graph size limitation )
  • fixed strand weight equation to avoid “spikes” in texture export

0.8.14

Additions

  • added option of specifying a grouping attribute ( by default P )
  • added group support to instance and grow ( ie. only instancing/growing off points in group )
  • added alignment and up vector to instance

Bugs Fixed

  • empty graph would cause maya to crash
  • fixed popping in clumping node

0.8.13

Additions

  • updated Yeti shelf, please reload to pick up changes as some of the mel function names have changed
  • new groom I/O to support paintable user attributes
  • custom user attributes can be painted, this is a re-design of the painting methodology. When in paint mode density, width and any other attribute has to be created to be used - any number of custom attributes can be created for use within the graph. Length is a special case and ALWAYS exists as it’s a geometric attribute that can’t not exist.
  • scatter and grow have been updated to allow specification of a specific attribute to be used, defaults to the historical values ( density and length ).
  • removed paint mode types and refactored groom UI to support the custom paintable attributes, to paint and attribute you can double click it’s name and/or use the paint attribute button
  • added duplicate & rename attribute and removed set from length tools ( redundant )
  • added export paint attribute to texture for grooms
  • added import texture to attribute for grooms
  • graphs can now handle mulitple input objects and grooms
  • added new AE UI in the Graph section of the pgYetiMaya node, objects and grooms can be added/removed using the input lists
  • guide sets are now added to the graph similar to objects and grooms in the AE Graph->Input Guide Sets vs. the graph editor menu option
  • refactored grouping
  • added expression mode to grouping to group based on an expressions result
  • removed the draw toggle and now defaulting to drawing the “root” node
  • added drawFeedback option to pgYetiMayaNode to turn on/off node feedback ( such as grouped points ) in the viewport
  • added bounding objects to grouping so geometry can be used to group points

Bugs Fixed

  • graph correctly evaluates when first reading cache/grm files
  • fixed motion blur samples issue when a full frame ( -0.5, 0.5 ) was requested
  • fixed “Write Cache” button in pgYetiMaya

0.8.12

Additions

  • it’s possible to create 0 length strands in grooms ( for painting instancing locations )
  • cleaned up groom/strand drawing
  • optimized GL drawing
  • added viewport length to pgYetiMaya node
  • added photoshop style hotkeys to resize brush ( [ and ] )
  • added “maintain length” parameter to scraggle, default to on where fibres will maintain their length ( regular behavoir ) and off means that they maintain the direction/groom more accurately

Bugs Fixed

  • fixed issue with brush lag
  • hopefully isolated intermittent crashes with painting
  • brush set length bug resolved
  • adjusted brush event filter to handle tablet pressure on windows more reliably
  • fixed thread safety issue when rendering on windows
  • resolved a memory leak introduced a few versions ago due to badly managed shared pointers
  • grooms draw using user defined colour when in shaded mode ( yeti nodes only in wireframe due to material needs )

0.8.11

Additions

Bugs Fixed

  • fixed incorrect face vertex uv output
  • refactored mesh primitive to avoid redundant re-allocation of input parameters

0.8.10

Additions

  • Renderman Studio support, most of the shared libraries and binaries should be compatible between RMS and Prman but in some instances ( Windows ) they’re not. As stressed by Pixar in the RMS docs, be aware of what dso’s you’re using.
  • undo/redo hot keys implemented, using ctrl-z, ctrl-shift-z
  • brush scaling now uses B key vs. shift
  • added Sculpting brush which allows the use to push/pull strands in the viewing plane
  • added Trim brush which allows you to trim hair away, this works well when trimming profiles
  • mirroring support added for Sculpt and Trim brushes

Bugs Fixed

  • fixed issue introduced in 0.8.9 rendering on Windows
  • length floating point precision set to 2 when drawing strand length
  • fixed bug that crashed Yeti when an input was missing in scatter
  • renamed “Geometry” to “Selection” on import node for clarity
  • fixed tablet pressure “ssllloowwwww upppddatteee” on Windows
  • fixed issue where node info was creating multiples of the same attributes/variables
  • mapped attributes correctly merged

0.8.9

Additions

  • added a transform node to move whole objects in the graph
  • added the instance node revealing the power of Yeti instancing!
  • mesh objects now drawn when dislpayed in the graph
  • renamed displayFur attribute to displayOutput ( as you can generate more than fur now )
  • mesh rendering rolled into this build
  • initial instance rendering implemented
  • instancing accepts any type of geometry for input ( as long as it has P )

Bugs Fixed

  • fixed bug which was causing only 1 shape to be cached when previewing renders

0.8.8

Additions

  • added adjust HSV option to shader node
  • added hsv_adjust parameter to fur shader
  • new documentation! ( you’re reading it! )
  • removed all dependency on Maya for flexibility and optimizations ( future versions will integrate into Houdini etc. )
  • strands are kept above the input surface when grooming + a “Keep On Surface” option on the groom node
  • improved handling of multiple input grooms in the graph as well as updating reference surfaces
  • re-written brush event system
  • tablet pressure now supported for grooming
  • initial dynamics implementation in place
  • moved simulation controls from pgYetiMaya node to pgYetiGroom node
  • added color parameter to Yeti node to draw the fur a specific colour when not selected
  • added input groom list to Yeti node
  • brush is now drawn on the surface all the time, not just when button is pressed
  • select/deselect strands while grooming to limit the brush effect to specific areas
  • added display strand length parameter that draws the length of a strand when hovering over one

Bugs Fixed

  • fixed shader bug where opacity_map_value was being redeclared
  • node editor correctly display error node
  • fixed import node pattern matching
  • text fields set with list dialogs now update right away ( vs. needing to press enter )
  • fixed issues where 0 length strands would cause nan values in groom
  • fixed missed normalization with direction brush, now it’s way more accurate
  • groom node only uses user define colour when not selected etc.
  • duplicating grooms work
  • using shift to change brush size provides correct scaling information

0.8.7

Additions

  • added input geometry list to pgYetiMaya AE template

Bugs Fixed

  • import object list now populated without the need to cook the node
  • import groom now works when there is more than one groom

0.8.6

Additions

Bugs Fixed

  • fill now works again
  • painting works when obey surface normal is off
  • paint values are exactly as set vs. filtered

0.8.5

Additions

Bugs Fixed

  • improved smooth brush
  • fixed painting length issues that led to crashes
  • sped up kd-tree search
  • fixed issue with “missing” fibres which is caused by the tangental interpolation on the input strands
  • fixed path name issues on windows

0.8.4

Additions

  • compiling against 3delight 9.0.89 on Windows
  • windows paths have slashes replaced to make sure they’re resolved correctly
  • fixed issue where grooms couldn’t be created when a previous groom had been deleted
  • re-implemented tree hashing to improve graph re-evaluation
  • importing grooms now work, added import groom button in Yeti AE

Bugs Fixed

  • removed nan generation issue when clumping fibres were shorter than the fibres to be clumped
  • undo fixed
  • GL sorting issues when group node is drawn in the viewport resolved
  • refreshing grooms when renamed updates immediately
  • fill works correctly now
  • correctly removes graph editor when graph/node deleted
  • ptc generation works on Windows w/ latest 3delight

0.8.3

Additions

  • completely re-implemented SeExpr integration for ultimate awesomeness
  • added global variable list to node info
  • added user variable display and open graph editor button to pgYetiMaya AE
  • much better paint mode brush dynamics and re-implementation of smooth in paint mode
  • added geometry sampling, attributes from the input geometry can be transferred to the source points and fibres
  • updated procedural call to handle more robust input parameters ( WARNING: old archived ribs will not work! )

Bugs Fixed

  • fixed bug in graph which caused a crash when nodes have been deleted
  • fixed graph bug which drew an input on nodes that have none ( such as import )
  • fixed backwards compatibility with vector types in graph
  • adjusting render values won’t cause the fur to update in the viewport

0.8.2

Additions

  • added some heuristics to avoid groomed strands being pushed through the surface
  • optimized the grooms use of setSurface for snappier feedback
  • finished prman integration!
  • groom display color can be changed
  • populate at mesh points true by default on grooms
  • added direction brush + icon
  • added tooltips to all groom parameters
  • improved brush dynamics

Bugs Fixed

  • groom move mode wasn’t updating the new surface position which caused garbage combing values
  • groups work on blend nodes now
  • flood fill works with propgate at all mesh points
  • fixed smooth sculpt to use strand normal vs. brush normal and modulate by dot
  • tweaked comb brush and added the option to reverse the curvature
  • fixed comform new strands

0.8.1

Additions

  • using discs to display paint values for groom
  • ability to scale paint value discs in groom
  • removed fly aways on guide curves
  • added convert node to convert strands to fibres
  • clumping now accepts strands as a second input as well as fibres
  • added attribute mapping
  • added attribute node to remap attributes to those that can be passed to the renderer
  • optimized populate at vertex positions
  • delete strands now obeys brush weight allowing multiple deletions at a time
  • added status bar to graph editor
  • added attribute mapping to node info
  • custom variables can be fed into the graph via yetiVariableF and yetiVariableV maya attributes
  • rib export handled via mel bindings to remove dependency on renderer dlls ( resulting in one plugin again )
  • strands align to new surface normal when moved
  • added direction parameter to grow
  • differentiated between groom and cache file name
  • added varying update frequencies on groom
  • populate and length disabled on corrective grooms ( as topology can’t change )

Bugs Fixed

  • no missed points when populating at vertices
  • corrective grooms work on caches again

0.8.0

Additions

  • added scale parameter to scraggle node
  • fixes and optimizations to guides
  • added populate at vertex positions in groom
  • zero length strands can be created
  • fixed bend and added bend direction

Bugs Fixed

  • grow correctly handles min/max length when a groom is attached

0.7

0.7.5

Additions

  • cleaned up Groom UI
  • added radius of influence to groom to limit the strands influence if greater than 0.0
  • cross platform cache compression added
  • added write cache control to Yeti AE
  • fixed strand movement in groom edit mode
  • added icons :)
  • added node info widget to graph editor
  • integrated new dynamics solver
  • added initial strand length parameter to groom node
  • added strand collision with groom surface to avoid grooming inside of base surface
  • added a timer to node information
  • added ability for new strands to conform to the same direction as neighbours

Bugs Fixed

  • added undo for groom fill
  • bounding box correctly computed in maya_batch/rib archive output mode

0.7.4

Additions

Bugs Fixed

0.7.3

Additions

  • grid now drawing in graph UI
  • added version number to window title
  • correct license checking for gui and render components
  • added the concept of static and dynamic attributes, this means that cache files are even smaller
  • replaced Peregrine expression language with Disney’s SeExpr ( http://www.disneyanimation.com/technology/seexpr.html )
  • optimized internal allocations with make_shared
  • strands now update with geometry changes ( make sure reference changes too! )
  • optimized strands class
  • re-implementation of brush and groom functionality
  • added flood fill feature for grooming
  • added cubic interpolation to stored motion samples
  • cleaned up groom interpolation

Bugs Fixed

  • need setenv MAYA_SET_PARENT_HINT 0 on Linux to avoid crash when showing graph editor
  • lowered repeated ends for renderman RiCurve output
  • fixed first vertex cropping in grow
  • fixed crash bug when requesting a new scene when graph editor has been opened
  • fixed crash in 3delight DSO on close with uninitialized data

Note This version requires MAYA_LOCATION defined, and maya’s dlls in the path

0.7.2

Additions

  • updated mel to provide new pgYetiNewNode so nodes can be created without Mesh select for cache reading.
  • each Yeti node now has it’s own graph editor so two graphs can be edited at once
  • added inheritUVs to Import node
  • added copy/paste support to graph editor, nodes can be pasted both into the current graph and betweens graphs
  • much nicer per component grooming control
  • node aesthetic changes
  • noodles now drawn as cubic curves

Bugs Fixed

  • fixed precision bug that caused motion blur samples to be misaligned
  • fixed a bug which caused Yeti to crash when input geometry had degenerate UVs
  • when a node is set to “root” and deleted it will now set one of it’s input to render