FrameStamp Addon

 

FrameStamp Demo 

 

 

This addon provides an output shader which prints text information.

 

Installation:

Drag the xsiaddon file over a workspace. This will install four plugins:

1. AddFrameStamp custom command will be added to the Pass->Edit menu.

2. FrameStamp2 output shader will be installed.

3. FrameStampUpdate custom event will be installed. This will make sure that the information passed to the output shader is updated with each render, even if the fram number does not change.

4. A FrameStampOp operator will be installed which updates the information sent to the FrameStamp shader.

 

Usage:

1. Choose the pass which you want to add the FrameStamp to and make it active. You may choose to give the stamp  its own pass. Run the command Pass->Edit->FrameStamp. This will apply the FrameStamp2 output shader to the pass. It will also install a null called "FrameStampNull" at the scene root. This will be used to pass information to Mental Ray via a UserDataBlob called "FrameStampBlob." The UserDataBlob will have an operator called "FrameStampBlob" which updates its information. A custom event called "frameStampUpdate" will also be installed which causes the operator to update with each render, even if the frame doesn't change.

The PPG for the FrameStamp2 shader should pop up:

 

FrameStamp PPG 

 

2. Enter the text you wish to stamp in the Output field. Special inputs are as follows:

3. By default the shader will attempt to load and use the Verdana font by default. A different TrueType font can be chosen. The ones which come with windows are found in the Windows installation directory, typically C:\Windows\Fonts or C:\WINNT\Fonts.

FrameStamp Old English font 

 

4. Choose the size in pixels and color for the font.

5. If the FrameStamp is given its own pass, then you may want to write an alpha channel for compositing.

6. A background color can be placed around the text if desired. Choose the color, density and thickness of the margin around the text. The background margin thickness can also be used to separate lines of text even if no background density is set.

7. Choose the position for the FrameStamp text. There are presets for the four corners of the image, or pixel numbers can be entered manually.

8. There is a second tab called "FrameStamp Null" where the shader is connected to the FrameStampNull. This should be taken care of when the AddFrameStamp command is called, but it can also be chosen manually.

 

Note about Render Time function:

The Render Time ( %rt ) function does not provide the same result as the Mental Ray wallclock render time. Instead it measures the time from the start of rendering ( when the FrameStampBlob is pulled and its operator updates ) and the time the FrameStamp2 output shader is called. If the FrameStamp is on the final pass to be rendered then I have found that the measured time is within 1 second of the Mental Ray wallclock render time. In XSI 6, the passes can be reordered if needed. Otherwise, the framestamp can be deleted and added to the last created pass. Also, for some reason the update event does not seem to fire with Preview renders in XSI 5.11. So, in 5.11 the the timer will only reset with frame changes or with normal renders.