The Granny Changelog
 

Changes for 2.12

2.12.0.14 release 2021/4/13

2.12.0.13 release 2021/2/12 2.12.0.12 release 2021/1/21 2.12.0.11 release 2020/08/25 2.12.0.10 release 2020/05/10 2.12.0.9 release 2020/4/20 2.12.0.8 release 2020/4/1 2.12.0.7 release 2020/3/2 2.12.0.6 release 2020/1/31 2.12.0.5 release 2019/11/1 2.12.0.4 release 2019/10/16 2.12.0.3 release 2019/09/09 2.12.0.2 release 2019/07/22 2.12.0.1 release 2019/07/08 2.12.0.0 release 2019/01/18

Changes for 2.11

2.11.10.0

2.11.9.1 release 2018/01/02 2.11.9.0 release 2017/12/04 2.11.8.0 release 2017/09/28 2.11.7.0 release 2017/07/27 2.11.6.0 release 2017/06/27 2.11.5.0 release 2016/11/30 2.11.4.0 release 2016/09/06 2.11.3.2 release 2016/08/22 2.11.3.1 release 2016/08/12 2.11.2.0 release 2016/05/06 2.11.1.1 release 2016/04/29 2.11.1.0 release 2016/04/22 2.11.0.1 release 2015/11/16 2.11.0.0 release 2015/11/03

This is a minor version update since there is another new compression mode! Read the compatibility notes carefully below.

Changes for 2.10

2.10.1.0 release 2015/08/11

2.10.0.0 release 2015/07/30 This Granny release is more important than usual! The minor version number has changed to 10. That means that this version of Granny can possibly (but only if you tell it to) create files that will not load in 2.9 or earlier. Why? Because we have something awesome for you: significantly better LZ file compression for Granny files. How much better? Up to 10x faster compression. 2x faster decompression. And files that can be less than 1/3 the size of the previous compression method on large scenes. The new compression mode is called BitKnit.

There is some more big news, too. The Animation Studio mouse-button assignments for bringing up the dialog to edit nodes, transitions, and breadcrumbs (and for navigating breadcrumbs and activating transitions) are now much more consistent. Right-click will open an edit window, and left click will select, activate, or drag the object. I apologize in advance for asking you re-learn some of the UI if you are upgrading, but it should be worth it to have more consistent behavior. Also, the default behavior of edit windows is now for them to open one at a time. Opening a new one will close the old one. If you want to open a new window while keeping the existing ones open, control-click instead! Also, control-clicking the activation spot of an open edit window will close it. We always try to minimize sweeping UI changes like this, but in this case it needed to be done.

Note that this release is not as big of a change as the jump to 2.9.0.0 was. The minor version number had to change because this release can produce BitKnit-compressed files that can't be loaded in old tools and runtimes. That said, the Oodle1 compressor is still there if you need it, and if you export from 2.10 uncompressed or with Oodle1, those files will load just fine in 2.9.

Let's get on with the changes!

Changes for 2.9

Since it's customary on each minor version increase to summarize the changes since the last one, that follows here. 2.9 was largely the version of Animation Studio and GState feature buildout, while of course there were a bunch of runtime and export improvements as well. Many node types and options were added as planned and in response to user feedback. Full morph target support was added, as well as IK support. The Animation Studio was made to be controllable with a 360 controller. The ability to attach user-defined data to nodes was added. Support was added for Windows Phone 8 and WinRT, Android, 64bit iOS, and Linux X64.

2.9.34.0 release 2015/05/26

2.9.33.3 release 2015/05/04 2.9.33.2 release 2015/04/29 2.9.33.1 release 2015/04/21 2.9.33.0 release 2015/04/20 2.9.32.0 release 2015/03/24 2.9.31.3 release 2015/03/12 2.9.31.2 release 2014/12/19 2.9.31.1 release 2014/12/16 2.9.31.0 release 2014/12/05 2.9.30.4 release 2014/11/19 2.9.30.3 release 2014/11/18 2.9.30.2 release 2014/11/13 2.9.30.1 release 2014/11/03 2.9.30.0 release 2014/10/02 2.9.29.0 release 2014/05/12

2.9.28.0 release 2014/04/24

2.9.27.0 release 2014/04/17

2.9.26.0 release 2014/04/01

Quick turnaround to disable some buttons in the Studio that could cause (reversable) graph corruption. If you think this has affected you, please contact us.

2.9.25.0 release 2014/03/25

2.9.24.1 release 2014/03/05

Hotfix for a crash in the Animation Studio.

2.9.24.0 release 2014/02/24

2.9.23.0 release 2013/11/05

2.9.22.0 release

2.9.21.0 release 2013/10/08

2.9.20.0 release 2013/08/30

2.9.19.0 release 2013/06/25

2.9.18.0 release 2013/05/30

2.9.17.0 release 2013/04/30

2.9.16.1 release 2013/04/18

Quick release to update LuaJIT and correct an output indexing problem in the new linear remap node.

2.9.16.0 release 2013/04/17

2.9.15.0 release 2013/03/19

2.9.14.2 release 2013/03/08

Putting out a quick release to correct a significant math error in one of the new platforms.

2.9.13.1 release 2013/02/21

2.9.13.0 release 2013/02/19

2.9.12.0 release 2012/11/02

Small release to preview and test the new morph target functionality in the Animation Studio. If you are going to use this feature, please get in contact with us at granny3@rad. As noted in the previous release message, this release will disrupt your export pipeline if you are currently using morph modifier extraction to sample morph curves from Max or Maya. Please do read the two large Compatibility Notes at the top of the changelog below. If you are only using the morph extraction to access the vertex deltas, this will not affect you.

Anyone not currently interacting with morph targets or their animation can treat this as a normal release.

2.9.11.0 release 2012/10/16

Small release because there is a large morph-related change coming in the next version. This release gives people a chance to get the current version without taking up the morph changes in the middle of a project in 2.9.12.0.

2.9.10.0 release 2012/09/10

2.9.9.0 release 2012/07/27

Another quick one. This addresses a harmless, but confusing display error in the animation set editor when passed source files containing invalid animations.

2.9.8.0 release 2012/07/17

Point release to correct a work-loss error in the Studio.

2.9.7.0 release 2012/07/06

2.9.6.0 release 2012/05/17

2.9.5.0 release 2012/04/30

Point release to address a 64-bit Max export error, and a reported access violation in the Animation Studio.

2.9.4.0 release 2012/04/19

2.9.3.0 release 2012/04/05

Point release to fix a problem with complex graphs.

2.9.2.0 release 2012/03/30

When using the Animation Studio, you'll notice a large change in the way you access node properties. The new pop-up properties give you much more space in the preview pane; making it much easier to spot animation errors. Check the Studio Quickstart document in your "doc" folder for information on how to work in the new system. Note that the slightly clunky black boxes on the states indicate interactive regions. Hang with us for a release, and those will be much prettier.

2.9.1.0 release 2012/01/12

2.9.0.0 prerelease 2011/11/07

Major release this time, as you can see by the shiny new zeros at the end of our version number! It's been the tradition around here to take a few paragraphs to discuss what happened over the course of the 2.8.* release series when the version number bumps, but we have a lot of ground to cover in new features here, and 2.8 lasted over 3 years!

The big news for 2.9 is that the Granny Animation Studio has finally reached 1.0! If you're not playing around with it yet, you should be. In the coming weeks, we'll still be streaming features into the tool and the runtime, stay tuned! Please also check out the new GState documentation, which you will find in the "doc" directory of your distribution alongside granny2.chm. You might notice some differences between granny2.chm and gstate.chm, let us know what you think! All of Granny's documents will be moving to this style soon, so I'd love feedback from you on ways to make it more useful.

Also note that there are a lot a compatibility notes in this release. Most of these should not affect normal customer code significantly, but if you're digging deep into the inner workings of Granny, I may have clipped you once or twice. The one search-and-replace that you are likely to have to do is the rename of the granny_dag_pose_cache to just granny_pose_cache, along with it's associated APIs.

While I believe this build is stable, it is the first in the 2.9 version series, and so out of an excess of caution, I'm marking it as "pre-release" to emphasize that if you have a deadline approaching, we do not recommend that you take up this version without thinking long and hard about it, and talking to us. Don't be a hero!

2.8.52.0 release 2011/08/05

Quick turnaround to make the LOD sampling available in the runtime, as well as correct two high priority problems, the blend culling and the loop in the loading code.

Note that a change has been made to the distribution for the source SDK. Instead of being a full copy of the binary SDK plus the source, the sdksrc*.zip files will now contain only the source. Just download the binary sdk and combine for the same fileset as before.

2.8.51.0 release 2011/08/02

Lots and lots of changes to the Animation Studio and its runtime in this version! I've sorted the changes below into two categories, UI changes and runtime changes. Please do read the UI changes at least if you work with the tool at all, many interactions have been changed (for the better!) in this version. Note that there are many things that I've discussed with beta clients that didn't make it into this release. They are coming, promise! It's simply that too many fixes have been made to hold this release back any longer. The next one will be coming on a much faster schedule.

Also note that there are a gaggle of new node types available: Selection, RandomAnimation, AimAt IK, and 2Bone IK. (Interfaces for these are not yet complete in this release, see above.)

In platform news, the Linux and Mac OS X targets have received some needed build attention. Both targets have new Makefiles for easily building from source.

The OS X target now allows you to build both x86 and x64 static libraries. As noted below, this did require reorganizing the source a bit, so please be careful checking it into your source control system. The default distribution now contains a shared library for x64 in lib/macosx64.

2.8.50.0 release 2011/06/20

Support now in place for all three of the newest Autodesk tools, 3DS Max, Maya, and XSI 2012.

A note on the GState beta: Thanks to everyone that has sent in feedback, bug reports, and suggestions. It has been super helpful, and we really appreciate it. The next release should be the 1.0 release of the tool and the runtime, at which point there will be multiplatform support, and some cool new features in the tool. Stay tuned!

2.8.49.0 release 2011/05/16

Quick turnaround to catch the root motion extraction bug fixed below. Please read the release notes for 2.8.48.0 as well!

2.8.48.0 release 2011/05/13

Big change to the way Granny source is distributed in this version to make supporting multiple platforms much easier. Please see the documentation in Building Granny from Source for more information. You will have to take note of this if you have checked Granny into your source control system to build from source.

In addition, now that the Animation Studio is more capable, the older Blend Editor is no longer shipped with the default distribution. It's functionality has been subsumed into the more advanced product. We are still supporting clients shipping games with the Blend Editor, of course, but to avoid confusion, it will be sent separately.

2.8.47.0 release 2011/03/17

Two big announcements in this release. First, Granny now supports the Nintendo 3DS! (Or rather, we have supported it for some time, and we can now tell you about it!)

Second, this release marks the first public release of the Granny Animation Studio. This is a limited functionality release to get feedback on both the tool (which a few clients have been helping us with), and the runtime API, which no one has seen yet. As with any new piece of Granny, we're eager to hear your comments. This release contains only a Win32 version of the runtime, the intention is to gather comments, and then do the full source release and the rest of the platforms. Speak now, or forever, etc, etc.

2.8.47.0 release

2.8.46.0 release 2011/01/21

Quick turnaround to fix a critical bug in the x64 exporters.

2.8.45.0 release 2011/01/11

Lots of changes in this one!

2.8.44.0 release 2010/10/29

A lot of distribution fixes and XSI changes in this release. Thanks to everyone who made suggestions over the last few weeks.

The Mac OS X build is back, and is now hosted on GCC rather than the Intel Compiler, for added ease of rebuilding.

2.8.43.0 release 2010/10/11

Quick turnaround on this build to formalize some distribution changes. No significant functionality changed in this build.

2.8.42.0 release 2010/10/06

Note that we experienced the untimely death of Granny's Build Mac on the 8th of September at 11:45 pm. It will be missed. So, the OS X target is not available in this release, sorry about that! We'll have that target back up in the next release.

2.8.41.0 pre-release 2010/09/08

2.8.40.0 release 2010/07/23 2.8.39.0 release 2010/07/02 2.8.38.0 release 2010/05/29 2.8.37.0 release 2010/05/12 2.8.36.0 release 2010/04/28 2.8.35.0 release 2010/04/01

Small, quick release to address a problem with uncompressed animation. Previously, these would work correctly through the GrannySampleModelAnimations but fail in either GrannySampleModelAnimationsAccelerated, or GrannyUpdateModelMatrix. They work now, but you should still (almost) never use them!

2.8.34.0 release 2010/03/30 2.8.33.0 release 2010/03/22 2.8.32.0 release 2010/02/23 2.8.31.0 release 2010/01/15

Well this is unusual! Two hotfix releases in 3 days. This release addresses a single issue. In the Xbox 360 build, the knot-finding routines could potentially be confused by -0.0 values slipping through in time computations. This could yield single-frame errors in both the pose and motion extraction paths.

2.8.30.0 release 2010/01/13

2.8.29.0 release 2009/12/18 2.8.28.0 release 2009/10/30 2.8.27.0 release 2009/10/20 2.8.26.0 release 2009/10/12 2.8.25.0 release 2009/09/22

There's a big help file reorganization in this release, and more on the way! The basic idea is to break up many of the longer (!) documents, and lay things out more concisely and logically. The coder track has been rearranged to be in a more natural order. New sections are called out specificially in the changelog below.

2.8.24.0 release 2009/08/20

2.8.23.0 release 2009/07/02

Note: we have discovered a bug in 3ds Max that can cause meshes with custom per-face data channels to crash on export. There is a workaround for this problem, but it requires replacing a standard plugin. Write us if you're experiencing random export crashes on meshes with deep modifier stack and custom face data, we'll check if you're encountering this problem.

2.8.22.0 release 2009/06/16 2.8.21.0 release 2009/06/05

Fast turnaround on this release to correct two serious exporter problems, one crash in 3ds Max, and a bad tangent extraction path in Maya.

2.8.20.0 release 2009/06/01 2.8.19.0 release 2009/05/18 2.8.18.0 release 2009/05/04 2.8.17.0 release 2009/04/28 2.8.16.0 release 2009/04/13 2.8.15.0 release 2009/03/16 2.8.14.0 release 2009/03/02 2.8.13.0 release 2009/02/24

2.8.12.0 release 2009/02/17 2.8.11.0 release 2009/02/12 2.8.10.0 release 2009/01/27 2.8.9.0 release 2009/01/20 2.8.8.0 release 2009/01/15 2.8.7.0 release 2008/12/17

A couple of minor fixes and enhancements for the end of the year in this release. Happy holidays!

2.8.6.0 release 2008/12/04 2.8.5.0 release 2008/11/24

2.8.4.0 release 2008/10/23

A lot of changes in this release, but two big items deserve special attention. First, the Blend Graph Editor is now an official, fully supported part of Granny! No more dag_beta releases. Thanks to everyone who contributed suggestions and test-drove the tool for us. Please keep the suggestions coming, we're not done working on it by a long shot.

Next, we now have documentation in Japanese for all Granny releases, and we have opened a local sales office in Tokyo. Please contacts us at sales3@radgametools.com for more information.

2.8.3.0 dag_beta 2008/08/13

This will be the last dag_beta release.

2.8.2.0 dag_beta 2008/07/03 2.8.1.0 dag_beta 2008/05/30

Hot fix for three serious bugs, one in the exporter, one in the Motion Extraction on Sony platforms, and a looping artifact fix for SPU sampling. Please also read the note for 2.8.0.0, everything there still applies, we're still in open beta on the DAG tool, and looking for feedback!

2.8.0.0 dag_beta 2008/05/19

Welcome to Granny 2.8! This is the first public release of the new Blend Graph Editor. Please let us know what you think of the beta tool, and send us suggestions for improvements, either in the tool, or in the runtime API!

Changes for 2.7

It's been a busy 2 years since the last minor version bump. As is the custom, we're going to use up a couple hundred bytes here to underline some of the major changes that Granny has undergone since the 2.6 release series. As always, the best way to keep up with Granny is to read the changelog as it is published, but let's hit the highlights.

The top line feature for our PS3 customers is that Granny now supports asynchronous sampling on the SPUs using mulitple SPU threading models. This is a fully general replacement for the PPU based GrannySampleModelAnimations family of functions. Each SPU is able to handle an animation workload in excess of the PPU in our tests, so with just part of 1 SPU, you may be able to completely eliminate animation from your profile on the host processor.

For both the Xbox 360 and the PS3, we've added Altivec math routines for building final poses, and custom code to decompress the most

important curve types. Every significant LHS stall and fdiv/fsqrt has been profiled, and where feasible, eliminated.

New platforms added in this release series include Intel-based Macs, which use the same optimized routines as the mature Win32 target, and the Nintendo Wii. Early in 2.7, Granny added x64 support, and the file processing routines got an upgrade to make moving files between 32 and 64 bit platforms seamless.

The Granny Preprocessor is now a full-fledged, production ready tool. Out of the box, it supports 26 of the most common runtime preparation operations that most people need to get their content out of Max or Maya, and into their game. The Preprocessor was rewritten to make it absolutely trivial to drop in your own operations.

Continuing our goal of "Granny Everywhere", we've added support for 3 new versions of 3ds Max (9, 2008, and 2009) and 2 new versions of Maya (8.5 and 2008). For the first time, XSI (versions above 5.11) are now supported! Along with the x64 runtime upgrade, we now support the 64-bit versions of the DCC packages.

In all of these tools, data extraction has been improved. We now support animation of Camera, Light, and Material parameters through the same granny_vector_track mechanism used to support custom attribute animation, Max particle systems are detected and exported, and visibility tracks are made available to you in the runtime. Morph modifiers (Morpher in Max, BlendShape in Maya) are now directly supported, allowing you to extract and animate morph animations directly from the DCC package. We've added support for the triangle annotation features found in Max, making it possible to associate arbitrary bits of data (strings, floats, bools, etc) with the triangles of your mesh. To make the exporter easier to automate, there are new scripting tutorials targeted at each DCC package. In addition, all of the Granny script commands in each package are now self-documenting.

The Granny Viewer has received a few tweaks as well, some of the more useful features for artist workflow:

All of Granny's tutorials underwent a complete rewrite to isolate and explain one Granny concept. New documentation in addition includes the Recommended Asset Pipeline, which can help you avoid some common pitfalls in setting up your export and processing toolchain.

2.7.0.34 final 2008/04/21

2.7.0.33 release 2008/03/24 2.7.0.32 release 2008/03/13 2.7.0.31 release 2008/02/12 2.7.0.30 release 2007/12/01 2.7.0.29 release 2007/11/21 2.7.0.28 release 2007/11/12 2.7.0.27 release 2007/10/29

This release corrects two serious errors that were recently called to our attention. It is strongly recommended that you upgrade to this version if possible.

2.7.0.26 release 2007/09/26

Granny now supports SPU sampling on the PS3! Since this is the first

public release of the SPU code, we're asking (pretty please!) that you send us feedback if you use the new sampling paths. The new documentation section SPU Sampling Support details how to setup and sample animations asynchronously on the SPU.

2.7.0.25 release 2007/08/08 2.7.0.24 release 2007/07/09 2.7.0.23 release 2007/06/06 2.7.0.22 release 2007/06/05 2.7.0.21 release 2007/05/17 2.7.0.20 release 2007/05/14 2.7.0.19 release 2007/04/26 2.7.0.18 release 2007/03/29 2.7.0.17 release 2007/03/22 2.7.0.16 release 2007/02/27 2.7.0.15 release 2007/02/05 2.7.0.14 release 2007/1/16 2.7.0.13 release 2006/12/19 2.7.0.12 release 2006/12/04 2.7.0.11 release 2006/11/3 2.7.0.10 release 2006/10/24 2.7.0.9 release 2006/10/10 2.7.0.8 release 2006/9/29 2.7.0.7 release 2006/9/26

2.7.0.6 release 2006/8/24 2.7.0.5 release 2006/7/26 2.7.0.4 release 2006/6/16 2.7.0.3 release 2006/6/05

2.7.0.2 release 2006/4/10

2.7.0.1 beta 2006/3/28

Changes for 2.6, 2006/4/4 [Final build was 2.6.0.16]

Granny 2.6 saw dramatic improvements in the size of compressed curves, improvements to the Level of Detail system, several new supported platforms, the introduction of the preprocessor, and another changing of the guard.

Compressed curves, introduced early in the 2.6 series have dramatically improved Granny's runtime footprint. In many test cases, we've seen over 50% reduction in curve memory for the same error target, with no changes required by client code or in the exporter. Late in the series, we added curve types that reduce the space required to store curves that have only a uniform scale component or a scale with no shear component, making squash/stretch type animation much more practical.

The other big news is the introduction of the Granny Preprocessor which will help you integrate Granny into your production pipeline, and perform common transformations on your Granny data automatically, quickly, and scriptably. We'll be focusing a lot of development effort on the preprocessor in coming releases. We've all got more content to deal with these days, we need tools to make it easier.

The Animation LOD system received stability tweaks, and tighter integration with the sampling APIs. Towards the end of the release series, a new LOD option, Skeletal LOD was introduced, which can be used to good effect with very little effort in your pipeline. Both systems dovetail nicely, and the preprocessor will begin to help you handle LOD easily in coming releases.

Finally, on the "Granny Everywhere" front, we added support for the Xbox 360, PSP, Playstation 3, Maya 6.5 and 7, and 3DSMax 8.

2.6.0.16 final 2006/4/4

2.6.0.15 pre-release 2006/3/9

2.6.0.14 pre-release 2006/2/17 2.6.0.13 pre-release 2006/1/23 2.6.0.12 pre-release 2006/1/16 2.6.0.11 pre-release 2006/1/11 2.6.0.10 pre-release 2005/11/17 2.6.0.9 pre-release 2005/09/21 2.6.0.8 pre-release 2005/09/14 2.6.0.7 pre-release 2005/09/08 2.6.0.6 pre-release 2005/07/25 2.6.0.5 pre-release 2005/07/12 2.6.0.4 pre-release 2005/07/06 2.6.0.3 pre-release 2005/06/16 2.6.0.2 pre-release 2005/05/30 2.6.0.1 limited pre-release 2005/5/12

Changes for 2.5, 2005/5/12 [Final build was 2.5.0.11]

Granny 2.5 was a gentle evolution of speed enhancements and feature tweaking, focussed on making Granny far more useable.

The BlendDAG system was tweaked through user feedback to take off the rough edges. A new explicit IK solver was added, which solves the most common 2-bone IK cases far faster and with more control than the existing general-purpose CCD solver.

The exporter was also heavily modified. Most obviously, a 3DStudio Max 7 version of the exporter was added. The exporting of tangent-space information was made far more robust and memory-efficient. Annimated vertex attributes switched to a new indexing system that can save quite a lot of memory in most cases.

The largest change to the exporter was the addition of a powerful new version of vertex morph targets where the movement of vertices is stored as a spline curve in pre-deformed (or default pose) space rather than post-deformed space. This allows intermingling of bone and vertex animation methods on the same limbs of the same mesh (for example, a vertex-animated shirt worn over a conventionally bone-animated body) without interpenetration and foreshortening problems. It also allows dynamic bone-based animation methods such as IK to be used while preserving the fine detail of vertex-based animation. As an additional bonus, the space required to store the vertex animation is reduced significantly.

Finally, the Granny Viewer now has an animation LOD preview mode so that the effectiveness and accuracy of the animation LOD can be checked before being imported into the game.

2.5.0.11 pre-release 2005/03/14

2.5.0.10 pre-release 2005/01/31 2.5.0.9 pre-release (internal only) 2.5.0.8 pre-release 2004/12/14 2.5.0.7 pre-release 2004/11/23 2.5.0.6 pre-release 2004/11/18 2.5.0.5 pre-release 2004/11/11 2.5.0.4 pre-release 2004/10/29 2.5.0.3 pre-release 2004/10/27 2.5.0.2 pre-release 2004/10/8 2.5.0.1 pre-release 2004/9/15

Changes for 2.4, 2004/8/27 [Final build was 2.4.0.29]

Granny 2.4 saw a long gestation period while the project changed hands. But the long time meant a lot of changes. In general things because more robust, more general-purpose and faster.

Max6 and Maya 6.0 exporters were added, along with support for morph target exporting, and Max's double-sided materials and the EditNormals modifier. Animated custom attributes of various types are exported as spline curves and can be sampled with the standard Granny curve-handling functions. Support for the PlayStation2 and Xbox360 were added, bringing the total numberof platforms up to six along with PC, Macintosh, GameCube and Xbox.

Two Max and Maya artist tools were added. The first is a GUI wrapper for the many functions of the normal-map caster, allowing much faster turnaround for previews. The second is the Track Mask authoring tool that allows easy addition and editing of different track masks on a skeleton. Combined with better runtime support for track masks, mixing multiple location-specific animations is now far easier for the artist to control and tweak directly.

A new type of motion-extraction - Variable Delta Accumulation - was added which requires no preprocessing and captures more general movements than the existing Constant Motion Extraction. However, CME is still useful to apps because of its simplicity in implementation. On the whole, applications may mix and match between the two types as they see fit. To complement this, motion extraction can be performed on any bone in the scene by explicitly specifying a Synthetic Root Bone - which need not be the actual root bone. This makes life much easier when trying to keep apart the two concepts of how the game's internal representation moves, and what the visual animations look like.

Rebasing animations is now free at playback time, with only a small cost when the animation is first started, and a memory cost of the rebased animation (all managed in a cache). This makes it far easier to have a huge range of characters in a game, with a huge range of animations, without having to author every combination separately or take a runtime speed hit. Animation Level of Detail was introduced, allowing complex animation sets and skeletons to be used for both close-up work and models in the distance, without wasting processing time on the details that cannot be seen when far away.

The raw file format is now better supported and more flexible, and the use of CRC'd strings to reduce memory usage is easier to use. Together they make using Granny on memory-constrained systems such as consoles far more pleasant.

And finally, the animation blending directed acyclic graph (BlendDAG) was added, which simplifies the process of specifying exactly how and when animations are composited together to make up the total motion of a particular object. The DAG can be constructed when the object is created, and then at runtime parts of it turned on or off as needed, with animations added into the appropriate nodes as they play or stop. Sampling and blending the animations is now a single call, however complex the structure of the DAG, simplifying the rendering process and allowing a single codepath to be used for all animated objects, however complex their animation generation.

2.4.0.29 pre-release 2004/8/24

2.4.0.28 pre-release 2004/8/19 2.4.0.27 pre-release 2004/8/10 2.4.0.26 pre-release 2004/8/03 2.4.0.25 pre-release 2004/7/26 2.4.0.24 pre-release 2004/7/22 2.4.0.23 pre-release 2004/7/14 2.4.0.22 pre-release 2004/7/7 2.4.0.21 pre-release 2004/6/29 2.4.0.20 pre-release 2004/6/17 2.4.0.19 pre-release 2004/6/14 2.4.0.18 pre-release 2.4.0.17 pre-release 2.4.0.16 pre-release 2.4.0.15 pre-release 2.4.0.14 pre-release 2.4.0.13 pre-release 2.4.0.12 pre-release 2.4.0.11 pre-release 2.4.0.10 pre-release: 2.4.0.9 pre-release: 2.4.0.8 pre-release: 2.4.0.7 pre-release: 2.4.0.6 pre-release: 2.4.0.5 pre-release: 2.4.0.4 pre-release: 2.4.0.3 pre-release: 2.4.0.2 pre-release: 2.4.0.1 pre-release:

Changes for 2.3, 09-03-2003 [Final build was 2.3.0.7]

The primary change to Granny 2.3 was the addition of updated Oodle and Bink compressors. The exporters now support the old compressors and the new updated compressors, and you can select which ones you want on a case by case basis. The primary benefit to the new compressors is speed, but they also often result in smaller files as well.

Although it was designed to be primarily a compressor update, Granny 2.3 actually has quite a few other new features worth noting. First is the addition of GrannyModulationCompositeLocalPose, which greatly simplifies the process of layering multiple sets of blended animations on top of eachother.

Second is "raw data" support, which allows you to convert any amount of Granny data into a single, flat-packed raw chunk. This raw data can then be read directly by you, and used in-place with only a simple, fast call to GrannyRebasePointers. This makes it much easier to get optimal streaming working on consoles, and makes it much easier to manage and page the memory taken up by Granny resources at run-time.

Third is a massively memory-optimized animation core. The animation internals now aggressively cache run-time status data, which means you can have, literally, ten to twenty times more animations playing at once while using the same memory footprint as previous versions of Granny. Furthermore, you can have direct control over the cache where necessary by using the new granny_animation_binding set of APIs.

Finally, new utility functions have been added to make it easier to control the weights in a granny_track_mask. The GrannySetSkeletonTrackMaskFromTrackGroup, GrannySetSkeletonTrackMaskChainDownwards, and GrannySetSkeletonTrackMaskChainUpwards functions can often make it a one-call operation to do complex mask setup.

2.3.0.7 release:

Changes for 2.2, 06-10-2003 [Final build was 2.2.0.6]

Version 2.2 of Granny features a long list of additions, starting with the much anticipated suite of normal mapping tools. 2.2 features a fully art-tool-integrated normal caster, which can project arbitrary mappings from high-res geometry to low-res geometry, for generating seamless texture maps or normal maps from high-res geometry. The Bink texture compressor now has a special path that forgoes YUV conversion and uses higher precision to make sure normal maps get highly compressed but do not lose accuracy. The mesh processing routines in all exporters have been updated to optionally generate and include tangent spaces for vertices. Finally, the run-time library has fast SSE-optimized CPU-side vertex deformers for tangent vectors and binormal vectors, which you can use for non-vertex-shader-capable hardware.

Also new to this version of Granny is a rewritten curve fitting algorithm for exporting animations faster and more accurately than all previous versions. This new curve fitter also allows you to use discontinuous motion curves, both zero-th order (for "teleportation" in an animation) and first order (for "hard bounces"). All of these new features are usable-controllable from the exporter interface.

This is also the first version of Granny to have a full per-pixel, multi-light, multi-texture, real-time shadowing sample app that demonstrates how to do high-quality rendering with Granny as the backbone. This demo includes a host of media files you can use for testing as well.

On the platform front, Granny 2.2 now officially supports the Nintendo GameCube, and pre-compiled SN-systems compatible libraries are now available for all of the Granny run-time library. Mac Carbon support has also been added, for those not targeting Mach-O.

In addition to those major items, Granny 2.2. also adds selection-only exports, pattern-based animation track binding, support for different z ranges and infinite far clip planes in the camera utilities, global tracking of control handles and model instances, MAX 5 and Maya 5 support, easier API access to low-level b-spline sampling, new high-throughput model updating calls, explicit file section layout from within all exporters, and a whole host of other fixes and feature additions.

2.2.0.6 release:

Changes for 2.1, 06-25-2002 [Final build was 2.1.0.5]

The most significant new addition to Granny in 2.1 is the arrival of the new Granny Viewer. This viewer sports a huge number of options for viewing your files. You can preview everything from motion transitions, to UV coordinate layouts, to actual file structure layout. It's sure to be a big help to all artists and programmers who work with Granny files, and we will keep expanding on its feature set over time to allow it to access even more of the Granny SDK's feature set.

Granny 2.1 also adds a new DLL to the mix: grn2gr2.dll, the Granny 1.x to 2.x converter. This DLL allows you to convert a Granny 1.x file into a 2.x file with all the same features available in the Granny 2.x exporters. Anyone working with old files will find this makes life a lot easier. Conversion support is also natively built in to the new Granny Viewer, so it can convert old files on the fly so you can view them alongside your newly exported assets.

In addition to the viewer and the converter, there are a host of new exporter and SDK features. These include a brand new vertex attribute handling system (which allows much finer control over mesh vertex layout in the exporter), support for NewTek's LightWave, SSE optimized vertex deformers for high-performance PC and XBox titles, support for MAX and Maya mesh annotation (such as Maya's "blind data"), note track exporting, improved texture and material gathering code (to avoid duplicated and unused materials and textures), new automation for centering models and animations, optional bone-centric triangle lists for faster collision detection, some great new camera queries, and a whole bunch more.

As of 2.1, the Granny documentation now automatically checks for updates on its front page (done without sending any information to RAD), so every time you launch the help, it will tell you whether or not you have the latest version of the SDK. If we release a new pre-release or release, it will let you know, and provide a link to e-mail Mitch for the update, as well as a link to the changelog so you can see all the changes and decide whether or not it's a good time to update.

2.1.0.5 release:

Changes for 2.0, 02-01-2002 [Final build was 2.0.0.36]

Changes for 1.2c, unreleased

Changes for 1.2b, 10-09-2000

Changes for 1.2a, 08-21-2000

Changes for 1.1b, 05-31-2000

Changes for 1.1a, 05-15-2000

Changes for 1.0f, 02-08-2000

Changes for 1.0e, 02-02-2000

Changes for 1.0d, 01-17-2000

Changes for 1.0c, 01-14-2000

Changes for 1.0b, 12-20-1999

Changes for 1.0a, 12-09-1999

Changes for 0.9a, 12-07-1999

Changes for 0.8d, 11-23-1999

Changes for 0.8c, 11-18-1999

Changes for 0.8b, 11-17-1999

Changes for 0.8a, 11-14-1999

Changes for 0.7b, 11-09-1999


 

E-mail granny3@radgametools.com for technical support.
© Copyright 1999-2021 by Epic Games Tools, LLC. All Rights Reserved.