The objective - Produce a radial reveal (animated pie chart) using a mask.
OpenGL -==================-===============- Blender Render
A single cube is used as a mask and that is morphed around the pie to radially hide the pie's lid..
To emulate pie lid thickness a special 'Lip' is constructed to rotate with the mask.
An empty is parented to the Lip's outer extrememty.
The cube's two corner vertices at 3 O'clock are "hooked" to another empty and that empty is parented to the Lip's empty. As the lip rotates it drags the cube-corner around with it to give us a rotating 'cutting face'.
The cube quickly distorts so it's other corners are also given Hook-Empties which we keyframe to keep the cube edges outside the pie's.
@Cegaton posted an answer recently that makes this hooking process a lot easier to manage and set up.
Instead of creating a special object for each corner to be Hooked to, we do as @Cegaton suggests, select both corner vertices, press CTL-V for the Vertice menu, and select "Hooks --> Hook to new object".
An Empty will appear on the corner's edge which importantly, doesn't initially move the edge from it's at- rest position. The Empty is selectable in Object mode and thus can be keyframed to move about, rather than using shapekeys.
As the cube's face is being dragged around the pie, each Hooked corner can now be dragged "LOCATION"
wise to correct unacceptable distortions and keep the pie inside the cube's current arc.
The mask cube therefore is ideal for pie-charting with Boolean, Chroma-Key masking, and OpenGL masking.
Masking was chosen here because it doesn't interfere with mesh, nor does it distort texture, which can, along with material shading, reach unacceptable levels on smoothed surfaces when Boolean cutting is used.
OpenGL rendering was also used because of it's convenience.
Rendering is quite fast, no compositing is required, no multiple rendering is required, no mixing in the VSE is required, and it's a WYSIWYG situation.
You commented that you're not familiar with masking, nor OpenGL so the following has been appended...
Inviso masking: (OpenGL)
It's a term I use to describe the effect a semmi transparent object has in the viewport, which also happens to be what is rendered when using OpenGL. It can effectively hide objects that get behind it.
Setting a mask object's Material Opacity to 0.008, and both specular sliders to 0 (zero), it's Diffuse to a dull grey - not only renders it virtually invisible, it will also selectively conceal other objects behind it..
The Opacity setting of 0.008 is just above the Alpha Threshold of 0.004, the default alpa threshold value as set in User Preferences.
The mask will only work when the viewing mode is set to "Material".
To force an object to be hidden when behind it simply parent it to the mask, then unparent again immediately. Make sure to select "Keep Transformation" each time.
To immunize an object so it won't be affected by the mask, parent in reverse,
i.e. the mask is the child, the object the parent. Unparent immediately.
Deselect everything (press A) and be in the "Material" view mode when testing it out.
When immunizing, it's possible that you'll reset the masking and need to re-parent one or more of the objects that are to be hidden.
Further Information -
Objects behind the mask may or may not become invisible by default. This appears to depend on whether the objects are created before or after the mask.
Masks created last, usually hide everything behind them whereas when created earlier, conceal some objects and not others.
This isn't a problem - simply Parent as described.
Rendering in OpenGL -
OpenGL is what you are looking at in the 3D viewport. It uses your computer's graphics hardware and at the same time sacrifices several colour and texture features in Blender in the interests of speed.
In the viewport's properties (press N) Display tab, tick the "Render Only" box.
Select the render menu at top left of the 3D window and click either "OpenGL Render Image" or "OpenGL Render Animation"
The latter will render out the animation you see in the viewport.
If you're in Solid or Wireframe view-mode, that's what you end up with in your footage.