Friday Flashback #37

As I remember it, Eddie was one of the first Softimage products to have an HTML version of its documentation (the screenshot below is not from the first version that was ever converted, but a one a few years later). The Eddie doc team (Maryanne and Dominic) used a tool called Harlequin WebMaker to produce this [admittedly] primitive HTML doc, which included virtually no screenshots. In fairness, 1997 was just a few years removed from the no-website, print-only docs era 😉

The Eddie team may have asked me for help at some point, but somehow I got using WebMaker, maybe for the old DKit docs. Eventually I convinced the 3D team to let me convert their reference manual (a later version of that is shown below in a fancy new frameset). There was some resistance at first, because generating HTML was an unknown, un-scoped task with a lot of possible pitfalls. I convinced them by agreeing to take care of all the tedious labor involved. And there was a lot of tedious labor, more than you would think for such simple output, mostly because 1)you had to workaround a lot of limitations in the generator, 2) the source FrameMaker docs weren’t designed for HTML generation.

By the late 1990s, my HTML docs for Saaphire and the Softimage SDK looked like this. My menu tree was some JScript I downloaded from the web and adapted.

By 2000, the HTML user docs had improved markedly. At this point, the 3D doc team was using WebWorks Publisher (which had a fancy Java TOC/Index that won’t load into my IE8).

Finally, here’s a screenshot of the Object Models docs from just before the XSI 1.0 release. These docs were generated by a perl program that parsed XML markup embedded in comments in the source files, and then used XSLT to generate the HTML. When I set up that system, it was a requirement that the doc be embedded in the code. I used XML because I was a budding markup geek, and I wanted complete flexibility. It wasn’t my intention to have the devs edit the XML themselves. I figured I’d being doing most of that, but then I left Softimage and they got stuck editing XML markup.

If you’re curious, here’s what the XML looked like:

// <object id="Application" base="SIObject" introduced="1.0">
// <description>
// The Application object is the base class for the <object idref="XSIApplication"/> object. This object 
// provides some general information about the Application and <object idref="XSIApplication"/> provides 
// additional Softimage-specific methods and properties.  Script writers normally do not deal with an instance 
// of Application; instead they use the global object called "Application", which is actually an instance 
// of XSIApplication. <br/>
// From Netview there is no global object available of type XSIApplication so normally the script creates 
// this object (by creating the COM object with ProgID "XSI.Application") and then calls 
// <object idref="SIObject.Application"/> on the returned object to retrieve an instance of XSIApplication. 
// This approach is demonstrated in the examples in for the XSIApplication object.
// </description>
// <seealso>
// <object idref="XSIApplication"/>
// </seealso>
// <properties>
//  <!-- property - - - - - - - - - - - - - - - - - - - - - - - - -->
// <property id="Application.StatusBar">
// <description>Sets the status bar text using a <link idref="String"/> value.</description>
// <examples>
// <example>
// <code lang="vbscript"><![CDATA[
// ' Change the display text in the status bar
// Application.StatusBar = "Hello world"
// ]]></code>
// </example>
// </examples>
// </property>
// </properties>

Finding back-facing polygons with the dot product

Here’s a video that uses ICE to demonstrate how to figure out whether a polygon faces in a certain direction, as described in Mathematics for Computer Graphics by John Vince

The Dot Product in Back-Face Detection
A standard way of identifying back-facing polygons relative to the virtual camera is to compute the angle between the polygon’s surface normal and the line of sight between the camera and the polygon. If this angle is less than 90◦ the polygon is visible; if it is equal to or greater than 90◦ the polygon is invisible.

PPG logic for ICE compounds

New in the 2012 Advantage Pack: PPG logic for ICE compounds.

In the compound properties, there’s a PPG Logic button that opens up a script editor where you can define some PPG callbacks:

  • OnInit is called when a user opens the PPG.
    You can use this callback for initialization code, but you cannot define the PPG layout (eg add tabs, groups, or buttons). ICE has its own layout code and ignores any PPGLayout you might define.
  • _OnChanged is called when a user changes a value in the PPG.
from siutils import log		# LogMessage

def OnInit( ):
	log("Modulate_by_Fcurve_OnInit called")
	oLayout = oPPG.PPGLayout
# Clamp exposed port
def Clamp_OnChanged():
	log( PPG.Clamp.Value )
# Input Range Start exposed port
def Input_Range_Start_OnChanged():
	log( "Input Range = ( %.2f, %.2f )" % (PPG.Input_Range_Start.Value, PPG.Input_Range_End.Value ) )

# Input Range End exposed port
def Input_Range_End_OnChanged():
	log( "Input Range = ( %.2f, %.2f )" % (PPG.Input_Range_Start.Value, PPG.Input_Range_End.Value ) )

The “PPG logic” is saved in the element of the .xiscompound file.

It’s Alive! Get it Now!! Softimage 2012 Advantage Pack

Sign in to the Subscription Center and get it now.

You don’t need a new serial number. The Advantage Pack (aka 2012 AP) runs with your 2012 license. So, if you have a Network license, just point 2012 AP to your license server. If you have a Standalone license, enter your 2012 serial number at startup.

Use the same product key as 2012: 590D1

The 2012 AP will install in a folder named Softimage 2012.SAP.
For example: C:\Program Files\Autodesk\Softimage 2012.SAP.

Animated transitions in the viewport

The ViewCube supports “animated transitions”, which are the smooth changes between different viewing angles.

There’s a hidden (aka officially unsupported) preference that extends animated transitions to everything, like the F and A shortcut keys for framing objects.

SetValue "", 1

There’s also another [hidden unsupported] preference to change the camera transition speed for this hidden feature:

SetValue "", 0.25

Value is in seconds. Default is 0.5, and be careful not to set it too high by accident…

Note On Linux, there’s a viewport glitch with this preference, so I wouldn’t use it.

Startup comparison for Softimage, 3ds Max, Maya

The other day I was using Process Monitor to see where Softimage spent its time during startup, and I was curious to see how Softimage compared to the big two. So, here’s some numbers.

I did this shortly after restarting my machine, so I didn’t have my usual kazillion different windows and apps open. Softimage didn’t have any workgroups, and Max and Maya were pretty much fresh installs.

Total Elapsed Time Total Event Duration # Logged Events
Softimage 34s 2.76s 817.4K
Maya 46s 38.7s 58K
3ds Max 2:03 81s 195K

Total elapsed time is the time from the first logged event to the last.
Duration is the sum of all event durations in the Process Monitor log.

If we look at the process activity timelines, we can see that:

  • Softimage uses the registry way more than Maya or 3ds Max.
  • Maya does more file i/o in terms of bytes, but Softimage has more file i/o operations. When a machine is more loaded up (more runnung processes), this is where Softimage spends more time.

Friday Flashback #36

Last week’s flashback post and its historically-inaccurate screenshot spawned an XSI list discussion that included this mention of Softimage Eddie. Softimage® Eddie was an award-winning video compositing, editing and processing tool that ran exclusively on Silicon Graphics® Indigo workstations. Required 64MB RAM for video, 128MB for film. Approximate retail price was $7,995 (U.S.).

So I thought I’d pull together some Eddie screenshots, but it wasn’t easy to find any. All I turned up was the logo, some Eddie icons, and some install screenshots.

Eventually I found something on the Fuel for the Mind CD (thanks to Miquel Campos 🙂 that showed the node-based UI, but the image quality is pretty poor.

Softimage Eddie – a professional post-production studio at your fingertips:

And here’s the Eddie brochure: