Changes to the GPU Override API gives you access to the geometry matrix and inverse geometry matrix in your GPU deformers. These updates also provide more flexibility by letting you define custom output steams for a deformer, which you can then use as inputs to other deformers.
Previous versions of the API restricted you to a single input buffer (positions) and a single output buffer (positions). Updates to the API now allow an unlimited number of input and output buffers. For example, you can now create a deformer that deforms normals as well as positions.
The new buffers are only used for deformation. They do not correct to Viewport 2.0, so you cannot produce a normal buffer and then have Viewport 2.0 render using that buffer.
The new functionality is implemented by two new classes MGPUDeformerBuffer and MGPUDeformerData. New methods include the following:
The new version of this method is the preferred version. The old method is still available for purposes of backwards compatibility. Only one of the evaluate methods should be implemented.
Variants that passed references to float for x and y tangent components now use the MFnAnimCurve::TangentValue with typedef set to TangentValue, which resolves to double.